如何正确配置Nginx + PHP

  

下面就是详细讲解如何正确配置Nginx + PHP的完整攻略。

1. 安装Nginx和PHP

首先需要安装Nginx和PHP。可以使用以下命令:

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install php-fpm php-mysql

2. 配置Nginx

在配置Nginx之前,需要先停止Nginx服务并备份Nginx默认配置文件。

sudo service nginx stop
sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

然后创建一个新的配置文件。

sudo nano /etc/nginx/sites-available/mywebsite

在该文件中,添加以下配置:

server {
    listen 80 defaults_server;
    root /var/www/mywebsite;
    index index.php index.html index.htm;
    server_name mywebsite.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

以上配置假设网站的根目录为/var/www/mywebsite,确保根目录和网站文件存在,并替换服务器名为你自己的网站名称。

最后,将新配置文件链接到sites-enabled文件夹中以使其生效。

sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/

3. 配置PHP

编辑PHP FPM的默认配置文件。

sudo nano /etc/php/7.2/fpm/pool.d/www.conf

找到以下行并确保其正确配置。

listen = /var/run/php/php7.2-fpm.sock

4. 重新启动服务并检查

重新启动Nginx和PHP FPM服务。

sudo service nginx restart
sudo service php7.2-fpm restart

检查服务状态以确保正确启动。

sudo service nginx status
sudo service php7.2-fpm status

5. 示例说明

示例1:PHP文件解析

在Nginx服务器上创建一个名为info.php的PHP文件,它包含以下代码:

<?php phpinfo(); ?>

放到网站的根目录/var/www/mywebsite。使用浏览器访问http://mywebsite.com/info.php,能够看到PHP信息页面。

示例2:Nginx服务器静态文件服务

在网站根目录创建一个名为hello.html的HTML文件,包含以下HTML代码:

<!DOCTYPE html>
<html>
<head>
    <title>Hello World!</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

使用浏览器访问http://mywebsite.com/hello.html,能够看到该静态网页。

以上就是如何正确配置Nginx + PHP的完整攻略以及两个示例说明。

相关文章