基本操作
启动nginx,并通过-c参数来指定服务所需用到的配置文件
nginx -c /etc/nginx/nginx.conf
重启
常见问题:
在windows的Linux子系统上,安装完nginx,会出现以下问题:
nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)
原因就是启动nginx的时候,没有指定配置文件。
解决方法:找到你的nginx.conf的文件夹目录,然后运行类似如下命令
nginx -c /etc/nginx/nginx.conf
再运行nginx -s reload,就可以了。
api路由提示404
Laravel项目,web路由可以正常访问,但api路由提示404.原因是nginx配置文件有问题,需要在location块中做如下操作:
在location里面加上
try_files $uri $uri/ /index.php?$query_string;
如果配置文件中存在 try_files $uri $uri/ =404;需要将它注释掉或者删掉,否则会报错
/etc/nginx/sites-enabled/default,其实是一个软连接,真正的文件是/etc/nginx/sites-available/default。
Nginx支持多个站点
https://www.cnblogs.com/Erick-L/p/7066564.html
Mac系统中Nginx配置文件地址:
/usr/local/etc/nginx/nginx.conf
SSL证书pem格式转换成crt格式
阿里云下载的证书是pem格式,需要转成crt格式,nginx才能使用。
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
一个小坑:
1、配置了反向代理之后(请求转发到本机的某个端口),由于设置问题导致域名匹配不上,所以会默认跳转到第一个域名。
2、配置修改正确之后,还是会默认跳转到第一个域名。带上端口号访问是正常的,进入网站后,把链接中的端口号去掉也是正常的。但是单独输入域名,还是出现1的现象。
3、Chrome浏览器Inspect前端网页,发现报了一个301错误。在inpect状态下,长按刷新按钮,强制清缓存后访问就正常了。