官网文档

http://openresty.org/cn/installation.html#安装前的准备

update the yum index:

sudo yum check-update

sudo yum install -y openresty

方式一

http://openresty.org/cn/download.html

wget https://openresty.org/download/openresty-1.19.3.1.tar.gz tar -xzvf openresty-VERSION.tar.gz cd openresty-VERSION/ ./configure make sudo make install

  1. <a name="NvCJI"></a>
  2. # [安装参考文档](https://www.cnblogs.com/freeweb/p/13446663.html)
  3. <a name="xkPah"></a>
  4. # 配置全局环境
  5. > 无权限请加 sudo
  6. - 编辑 `vim /etc/profile`
  7. - 在profile文件底部加上 `export PATH=$PATH:/usr/local/openresty/nginx/sbin`
  8. - `echo "export PATH=$PATH:/usr/local/openresty/nginx/sbin">>/etc/profile
  9. `
  10. - 使配置生效 `source /etc/profile`
  11. - 测试 `nginx -v`
  12. - 启动 `nginx`
  13. - 停止 `nginx -s stop`
  14. - 重启 `nginx -s reload`
  15. - 查看进程 `** ps -ef | grep nginx**`
  16. <a name="y6XyZ"></a>
  17. # 启动错误处理
  18. <a name="Tun19"></a>
  19. ## 启动文件夹无权限
  20. > sudo chmod -R 777 /usr/local/openresty
  21. ```shell
  22. [vmware@kyw ~]$ nginx
  23. nginx: [alert] could not open error log file: open() "/usr/local/openresty/nginx/logs/error.log" failed (13: Permission denied)
  24. 2022/10/26 08:48:24 [emerg] 32664#32664: mkdir() "/usr/local/openresty/nginx/client_body_temp" failed (13: Permission denied)

启动端口无权限

1024以下端口启动时需要root权限,所以sudo nginx即可

  1. [vmware@kyw ~]$ nginx
  2. nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

sudo nginx 无此命令

  1. 为nginx做一个软连接 我没设置成功
    1. sudo ln -s /usr/local/openresty/nginx/sbin/nginx /usr/local/sbin/nginx
    2. 参考
  2. 修改文件
    1. sudo vim /etc/sudoers
    2. 找到 Defaults secure_path 注释掉
    3. 将原来的Defaults secure_path内容后面加上 nginx的地址后保存
    4. Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/openresty/nginx/sbin
    5. 参考
  1. [vmware@kyw sbin]$ sudo nginx
  2. sudo: nginx: command not found

自启参考

自启脚本

vi(vim) /usr/lib/systemd/system/nginx.service

  1. [Unit]
  2. Description=The nginx HTTP and reverse proxy server
  3. After=network.target remote-fs.target nss-lookup.target
  4. [Service]
  5. Type=forking
  6. PIDFile= /var/run/openresty.pid
  7. ExecStartPre=/usr/bin/rm -f /var/run/openresty.pid
  8. ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
  9. ExecStart=/usr/local/openresty/nginx/sbin/nginx
  10. ExecReload=/bin/kill -s HUP $MAINPID
  11. KillMode=process
  12. KillSignal=SIGQUIT
  13. TimeoutStopSec=5
  14. PrivateTmp=true
  15. [Install]
  16. WantedBy=multi-user.target

保存,重新加载 systemd

  1. systemctl daemon-reload

设置nginx服务开机自启动

  1. systemctl enable nginx.service

nginx服务常用操作

  1. #启动nginx服务
  2. systemctl start nginx.service
  3. // nginx
  4. #停止nginx服务
  5. systemctl stop nginx.service
  6. // nginx -s quit or nginx -s stop
  7. #重启nginx服务
  8. systemctl restart nginx.service
  9. // service nginx restart
  10. #重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
  11. systemctl reload nginx.service
  12. // nginx -s reload
  13. # 检查配置是否正确
  14. nginx -t

不指定配置文件请使用默认的配置文件进行操作

  • /usr/local/openresty/nginx/conf/nginx.conf

开/关防火墙

非root 记得加 sudo

centos firewall

  1. # 开放443
  2. firewall-cmd --zone=public --add-port=443/tcp --permanent
  3. # 限制443
  4. firewall-cmd --zone=public --remove-port=443/tcp --permanent
  5. # 开发80
  6. firewall-cmd --zone=public --add-port=80/tcp --permanent
  7. # 限制80
  8. firewall-cmd --zone=public --remove-port=80/tcp --permanent
  9. # 重启
  10. firewall-cmd --reload
  11. # 查看开放端口列表
  12. firewall-cmd --list-ports

初始化细节处理

默认错误页面隐藏版本号

image.png

  1. # nginx的http段添加
  2. server_tokens off;

自定义错误页面

  1. error_page 404 /404.html;
  2. # 自己去html目录下创建个404.html文件去
  3. location = /404.html {
  4. # 指定404页面的目录
  5. root html;
  6. }