首頁 > 軟體

nginx降權與匹配php詳細講解

2023-01-16 14:03:09

nginx降權啟動

確認普通使用者無法開啟nginx

建立普通使用者:

root@ubuntu:~# useradd -d /home/test -m test
root@ubuntu:~# passwd test
New password: 
Retype new password: 
passwd: password updated successfully
root@ubuntu:~# 

切換到test使用者: 

測試是否可以啟動nginx:

啟動失敗

建立必需的相關檔案

$ mkdir nginx
$ cd nginx 
$ mkdir conf logs www sbin

使用root使用者copy組態檔中網頁支援型別檔案

root@ubuntu:/www/env/nginx/conf# cp /www/env/nginx/conf/mime.types /home/test/nginx/conf/

使用root使用者拷貝nginx組態檔

root@ubuntu:~# cp /www/env/nginx/conf/nginx.conf /home/test/nginx/conf/

設定許可權

root@ubuntu:~# chown -R test:test /www/env/nginx/
# 將當前前目錄下的所有檔案與子目錄的擁有者皆設為 test,群體的使用者 test:

 修改組態檔

worker_processes  4;
worker_rlimit_nofile 65535;
error_log  /home/test/nginx/logs/error.log;
user test test;
pid  /home/test/nginx/logs/nginx.pid;
events {
    use epoll;
    worker_connections  1024;
}
http {
    include       /home/test/nginx/conf/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8080;
        server_name  localhost;
        root  /home/test/nginx/www;
        location / {
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        access_log  /home/test/nginx/logs/access.log;
    }
 

全路徑啟動nginx -c引數使用指定的組態檔而不是conf目錄下的nginx.conf

/www/env/nginx/sbin/nginx -c /home/test/nginx/conf/nginx.conf &> /dev/null 

安裝 PHP 7.4,配合 Nginx

安裝 PHP 和 PHP FPM 軟體包:

apt install php-fpm

檢查服務狀態,執行:

systemctl status php7.4-fpm

修改許可權 

chmod 777 /run/php/php7.2-fpm.sock

設定php-fpm

修改設定監聽9000埠來處理nginx的請求(這種方法一般在windows上使用),開啟 /etc/php/7.2/fpm/pool.d/www.conf 檔案找到如下位置註釋第一行新增第二行

;listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000

修改Nginx組態檔

找到下面這部分程式碼取消註釋,修改設定

        location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }

測試: 

在/www/env/nginx/html下建立index.php檔案:

root@ubuntu:/www/env/nginx/html# cat index.php 
<?php
phpinfo()
?>

開啟瀏覽器:

總結

到此這篇關於nginx降權與匹配php的文章就介紹到這了,更多相關nginx降權 匹配php內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com