有时候我们需要配置一个80端口,不需要输入项目名称。那我们的nginx需要怎么配置呢,其实很简单,大家按照下面的配置修改自己的域名和项目名称就可以了。
1、http访问
- server {
-
- listen 80;
- # 需要访问的域名
- server_name so.test.com www.so.test.com;
- location / {
- # 需要访问的项目地址和项目名称,so是我的项目名
- proxy_pass http://172.16.110.1:12567/so/;
- proxy_cookie_path /so/ /;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_intercept_errors on;
- }
-
- location /so/ {
- proxy_pass http://172.16.110.1:12567/so/;
- proxy_cookie_path /so/ /;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
-
- location / {
- index index.html index.htm;
- root /var/www/myShop/h5;
- # 下面这句话可以解决vue打包部署后,页面刷新报404的问题
- try_files $uri $uri/ /index.html;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- error_page 404 /index.html;
- location = /index.html {
- root /var/www/myShop/h5;
- }
- }
2、https的配置,这样的话,用户不管输入哪个都可以访问
- server {
- # https需要ssl证书
- listen 443 ssl;
- ssl_certificate /so/ssl/6494868__so.com.pem;
- ssl_certificate_key /so/ssl/6494868__so.com.key;
- server_name so.test.com www.so.test.com;
- location / {
- proxy_pass http://172.16.110.1:12567/so/;
- proxy_cookie_path /so/ /;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_intercept_errors on;
- }
-
- location /so/ {
- proxy_pass http://172.16.110.1:12567/so/;
- proxy_cookie_path /so/ /;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
-
- location / {
- index index.html index.htm;
- root /var/www/myShop/h5;
- # 下面这句话可以解决vue打包部署后,页面刷新报404的问题
- try_files $uri $uri/ /index.html;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- error_page 404 /index.html;
- location = /index.html {
- root /var/www/myShop/h5;
- }
- }
3、上面的配置中大家要注意,/so是我的项目名称,如果大家的项目名称没有的话,需要在springboot的application.properties文件中配置一下,参考下面的教程
- #springboot2的配置DEMO
- server.servlet.context-path=/so
- server.port=12567
-
-
- #springboot1的配置DEMO
- server.context-path=/so
-
-
- #配置的path,那么我们的项目访问地址就是http://ip:port/so
4、nginx配置好了之后,我们需要先把项目启动,然后在服务器开通项目的端口,或者关闭服务器的防火墙。然后一定要重新启动nginx,使用nginx-reload命令。
Nginx的优点:
1、更快:单次请求会得到更快的响应;并发请求也会更快地响应请求。
2、高扩展性:完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成,当对某一模块修复bug或者升级时,可以专注于模块自身。Nginx的模块都是嵌入到二级制文件中执行的,这使得第三方模块一样具备极其优秀的性能。
3、高可靠性:核心框架代码的优秀设计、模块设计的简单性,官方提供的常用模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以快速“拉起”新的worker子进程提供服务。
4、低内存消耗:一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。
5、单机支持10万以上的并发连接。
6、热部署:master管理进程与worker工作进程的分离设计,使得Nginx能够提供热部署功能,可以在7*24小时不间断服务的前提下,升级Nginx的可执行文件,也支持不停止服务就更新配置项、更换日志文件等功能。
7、最自由的BSD许可协议:BSD许可协议不只是允许用户免费使用Nginx,它还允许用户在自己的项目中直接使用或修改Nginx源码,然后发布。