Nginx启动Web项目


以前前后端没有分离的时候,项目启动前后端就一起启动了,现在前后端分离,服务端和页面分开部署。

有一段时间都以为因为是html页面,直接扔tomcat的webapp下就好,然后发现启动tomcat后,页面是找不到css和js的,不知道什么原因,后面有时间去研究一下,今天研究的是用nginx启动web页面项目。

1、前提:启动服务端,比如服务器端为127.0.0.1:8080,然后所有接口都是以/api开头的,比如登录接口,127.0.0.1:8080/api/login

2、将前端开发好的页面解压,放到一个指定目录下,我这边解压好的目录结构是这样的

 

 

 3、配置nginx,在conf/nginx.conf目录里面配置

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    tcp_nopush          on;
    tcp_nodelay         on;
    types_hash_max_size 2048;
    client_max_body_size 20M;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
	
	upstream localserver {
                #这里配置服务器的地址,刚才我们启动的是8080端口
		server 127.0.0.1:8080;
    }


    server {
        listen 9999;#这里是nginx监听的端口,就是一会儿浏览器打开的端口,访问的时候用http://testhosts.com:9999,如果这个地方改成80端口,那么就只需要用http://testhosts.com访问就行,多个server可以同时监听80端口,然后代理域名用不同的名字就行
        server_name  testhosts.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
		
		root D:\plugins\product_page\dist;#这里是前端页面的根路径
		location / {
            
            index  index.html index.htm;
        }
		
		location ^~/api/ {#这里表示浏览器所有以/localhost:9999/api开头的请求,经过nginx代理,到服务器都用localserver/api/请求,实际localserver就是上面我们配置服务器地址
			proxy_pass  http://localserver/api/;
        }
		
		location ^~/document/{
			proxy_pass http://localserver/document/;
        }
        location ^~/file/zip/ {
                proxy_pass http://localserver/file/zip/;
        }
        location ^~/doc/bill/{
          	proxy_pass http://localserver/doc/bill/;
		}


}
        

4、启动nginx.exe(我这里是在windows端,在linux端去网上查询相应启动、停止命令)

5、访问页面,在浏览器输入testhosts:9999,访问成功

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM