如何正确配置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的完整攻略以及两个示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何正确配置Nginx + PHP - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 一、CentOS安装nginx-1.16.1

    安装Nginx 1.  去官网http://nginx.org/下载对应的nginx包 2.  上传nginx到linux系统 3.  安装依赖环境 (1)安装gcc环境 yum install gcc-c++    (2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel    (3)zlib压缩和解压缩依赖,…

    Nginx 2023年4月12日
    00
  • window nginx 基础命令

    在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。(说明:打开cmd窗口) 1、启动: C:\server\nginx-1.0.2>start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种…

    Nginx 2023年4月11日
    00
  • Nginx状态监控以及日志分析详解

    下面是关于Nginx状态监控以及日志分析详解的攻略: Nginx状态监控 Nginx状态监控可以帮助管理员实时了解Nginx服务器的运行状态,例如在线用户数量、请求响应时间等。下面是监控Nginx状态的步骤: 步骤1:安装Nginx状态模块 首先,需要安装Nginx状态模块,可以通过编译源码的方式添加Nginx状态模块。安装完成后,需要在Nginx配置文件中…

    Nginx 2023年5月16日
    00
  • ubuntu12.04+nginx+apc

    网上多有不靠谱博客,现自己实践如下: 1 必须安装的两个包: sudo apt-get install php-pear php5-dev   (安装PECL扩展  ) 2 上面装好后,还需要再安装pcre: sudo apt-get install libpcre3 libpcre3-dev (上面如果未安装,会报 get an error like “f…

    Nginx 2023年4月12日
    00
  • Nginx启动异常及解决方案:Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy

    当我使用systemctl start nginx.service或者service nginx start命令启动nginx,发现启动失败,报错信息如下:     当使用nginx -t却显示OK.查看状态,信息如下:     解决办法: 根据Nginx配置文件查看配置的端口(本文中使用的是80端口),然后根据端口查看端口占用情况。     修改/etc/…

    Nginx 2023年4月10日
    00
  • Nginx配置 location模块实现路由(反向代理、重定向)功能

    下面给出详细的Nginx配置location模块实现路由的攻略: 1. 了解location模块 在Nginx配置文件中,location模块是用来匹配请求URI的。可以使用不同的匹配规则来设置不同的访问控制、反向代理等操作。 location语法: location [ 匹配模式 ] { # 配置项 } 其中的匹配模式有以下几种: 精确匹配:例如locat…

    Nginx 2023年5月16日
    00
  • jenkins+docker+nginx+tomcat实现vue项目部署

    一、项目准备 1、新建一个vue的项目,确保能在浏览器正常访问。然后在项目的根目录下新建一个Dockerfile的文件,内容如下 FROM nginx COPY dist /usr/share/nginx/html/ COPY nginx.conf /etc/nginx/nginx.conf 2、在根目录下创建一个nginx.conf,内容如下 worker…

    Nginx 2023年4月12日
    00
  • nginx服务警告conflicting server name “bbs.xxxxxx.com” on 0.0.0.0:80, ignored

    在修改nginx服务的配置文件后检查发现如下错误: 排查方法如下: 排查后发现www.conf文件中错误指定了域名并且和bbs.conf中相同 解决:在www.conf中修改  

    Nginx 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部