## nginx作指南 ## 常用命令 ```shell # 测试配置文件是否正确生效 nginx -t # 重启 nginx -s reload # 启动 nginx ``` ## SSL证书 1. SSL证书的申请可以通过certbot申请一个免费的 2. SSL证书更新后,需要nginx重启/重新加载才能生效 3. http块与server块同时配置了SSL配置的话,server块中的优先级更高,http块属于全局配置 ## http重定向https 在配置文件中下面的内容 ```shell # 将所有HTTP请求通过rewrite指令重定向到HTTPS。 server { listen 80 default_server; listen [::]:80 default_server; server_name _; rewrite ^(.*)$ https://$host$1; } ``` ## 问题 ### 启动报错:nginx: [emerg] open() "/run/nginx/nginx.pid" failed (2: No such file or directory) 原因:可能是配置文件中的user指令中的用户直接操作/run目录的权限不足,导致无法创建; * 解决方法1:在nginx.conf配置文件中,增加如下指令,修改pid文件目录绕过权限不足的问题 ```shell # 指定nginx的pid文件位置 pid /var/run/nginx/nginx.pid; ``` 说明:/var/run是/run的一个软连接入口 * 解决方法2:使用系统级命令进行启动 ```shell # alpine系统 rc-service nginx start ```