nginx简单配置例子及遇到的问题

一、进入nginx配置目录,修改配置文件

cd /etc/nginx/conf.d
sudo vim xxx.conf
server {
        listen       40041;
        server_name  liuhuan.local;
        root /data/email/script;
        index  index.html index.htm index.php;

        location ~ .php { # 为了支持pathinfo,需将包含.php的URL交给fastcgi解析,同时需设置php.ini中的cgi.fix_pathinfo=1
                expires off;
                access_log  /data/logs/inova-backend.log;
                include fastcgi.conf;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_script_name;
        }
}

二、遇到的问题:返回502

1、原因:
(1)nginx和php-fpm的进程间通信方式不一致,Nginx和PHP-FPM的进程间通信有两种方式:一种是TCP,一种是UNIX Domain Socket.
(2)nginx和fpm的权限组配置不一致
2、解决办法:
(1)先进入到fpm的启动配置文件:

ps -ef | grep nginx

//   /etc/php/7.2/fpm/php-fpm.conf 为启动配置文件的位置
root       567     1  0 14:46 ?        00:00:00 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
www-data   568   567  0 14:46 ?        00:00:01 php-fpm: pool www
www-data   569   567  0 14:46 ?        00:00:00 php-fpm: pool www
www-data  1190   567  0 16:11 ?        00:00:00 php-fpm: pool www
liuhuan   1648   786  0 21:58 tty3     00:00:00 grep --color php
-----------------------------------------------------------------------------
sudo vim /etc/php/7.2/fpm/php-fpm.conf

(2)在fpm的启动配置文件里找到 php-fpm 进程服务的扩展配置文件位置:/etc/php/7.2/fpm/pool.d/www.conf
在这里插入图片描述
(3)查看 php-fpm 扩展配置文件的通信方式配置是否与nginx的配置一致

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

在这里插入图片描述

sudo vim /etc/nginx/conf.d/xxx.conf

在这里插入图片描述

修改后,重启nginx和php-fpm服务

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

(4)如果还是不行,就要去看nginx和fpm的权限组配置是否一致

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

在这里插入图片描述

sudo vim /etc/nginx/nginx.conf

在这里插入图片描述

三、关于访问非框架的php脚本接口的跨域配置

参考文章:nginx如何配置跨域请求
在这里插入图片描述
下面这个在nginx配置不能少,因为接口跨域请求时,会先发一个OPTIONS预检请求到nginx,询问是否能跨域,通过之后才会正常发送原来的请求。

if ($request_method = 'OPTIONS') {
     return 204;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值