1、安装EPEL
Nginx 服务器软件安装包在 EPEL 仓库里,但不在CentOS 的 yum 包安装源仓库中,所以需要先添加 CentOS 7 EPEL 仓库:
[root@Tracy src]# yum install -y epel-release
2、安装Nginx
[root@Tracy src]# yum install -y nginx
3、验证是否安装成功
[root@Tracy src]# nginx -v nginx version: nginx/1.20.1
出现版本号即安装成功!
4、设置Nginx为系统服务
[root@Tracy src]# systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
5、启动服务
[root@Tracy src]# service nginx start Redirecting to /bin/systemctl start nginx.service
6、浏览器验证
注:确认80端囗对外可访问,设置可参考:CentOS7 开放端囗(使用iptables)_ling1998的博客-CSDN博客
在浏览器中输入访问地址,出现Ngnix默认页面(注:我的是阿里云服务器,可能与你的默认页面内容不一样)
7、常用命令
nginx //打开nginx
nginx -h //显示帮助
nginx -v //显示版本号
nginx -t //检测配置文件(nginx.conf)是否有语法错误
nginx -T //检测配置文件(nginx.conf)并显示出来
nginx -s start //启动服务
nginx -s reopen //打开错误日志
nginx -s reload //程序加载配置文件(nginx.conf),然后以优雅的方式重启服务
nginx -s stop //强制停止服务
nginx -s quit //优雅的停止服务
设置Nginx为系统服务后,可以通过以下命令操作服务
service nginx start //启动服务
service nginx stop //停止服务
service nginx restart //重启服务
service nginx status //查看服务状态
8、部署项目
(1)项目放在相应目录中,记录项目根目录路径
(2)编辑nginx配置文件
[root@Tracy src]# vi /etc/nginx/nginx.conf
修改服务配置中的root路径为自己的项目根路径
server { listen 80; #修改web服务监听端囗,默认为80 listen [::]:80; server_name _; #服务名称 root /home/project; #修改成自己的项目目录 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
按Esc退出编辑,输入:wq保存退出
(3)浏览器访问验证
在浏览器中输入访问地址,发现已经改变
(4)反向代理及证书配置
配置证书,可以通过https访问,需要开启443端囗,前提条件是需要先有域名,然后做域名解析,然后进行配置nginx.conf
server { listen 80; listen [::]:80; listen 443 ssl; server_name xxx.xxx.xx; root /home/client-front/out; # 配置证书 ssl_certificate /etc/nginx/cert/8538290.pem; ssl_certificate_key /etc/nginx/cert/8538290.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ^~ /api/v1 { proxy_pass http://127.0.0.1:8090; } location ^~ /swagger { proxy_pass http://127.0.0.1:8090; } error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
(5)如何配置http 跳转 https
server { listen 80; listen [::]:80; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name xxx.xxx.xx; root /home/client-front/out; # 配置证书 ssl_certificate /etc/nginx/cert/8538290.pem; ssl_certificate_key /etc/nginx/cert/8538290.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ^~ /api/v1 { proxy_pass http://127.0.0.1:8090; } location ^~ /swagger { proxy_pass http://127.0.0.1:8090; } error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
9、宝塔面板
(1)安装
详见官网:宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat
(2)配置反向代理
场景:前端访问后端,如下图所示:
(3)问题
如果配置完,在浏览器访问时发现并没有生效,查看下配置文件,有的时候通过上面设置的在配置文件中有可能不太一样,我遇到的问题就是配置文件中proxy_pass后面多了一个/,但是上面设置时是没有的
原文链接:https://blog.csdn.net/ling1998/article/details/124285954