nginx 配置静态网页和反向代理
近来有个项目采用的前后端分离开发,前端纯html+js,后端是微服务架构。
使用nginx部署静态网页,感觉很方便,就是第一次配置,有些挠头,特别记录一下。
我的是windows系统,下载下来windows-nginx的压缩包,解压缩就行了,启动的话直接点击.exe,启动成功,你会在logs下面看到一个.pid的文件,里面有启动nginx进程号。关闭要用cmd命令,进入到nginx目录,用命令nginx.exe -s stop;
配置nginx需要修改conf下的nginx.conf;修改server内容。
listen表示要监听的端口;
server {
listen 88;
#server_name localhost;
location / {
root D:/javaCode/workspace/html-ui;
}
location /test1/ {
proxy_pass http://localhost:6785/;
}
}
配置"location / ";root指向静态页面所在文件加位置;例如你的首页绝对路径为D:/javaCode/workspace/html-ui/login.html,那么配置好你的登录也url就是http://localhost:88/login.html
配置好,需要重新加载一下nginx,命令为nginx.exe -s reload
后端为微服务,restcontroler的地址为http://localhost:6785/server/XX/XX/queryXX 这种;前端涉及跨域访问了,利用nginx的反向代理解决。
每个微服务都有自己的端口,例如你有很多微服务接口在不同的微服务,你可能需要配置多个反向代理,我举例一个。
前端请求url设置为 /test1/server/XX/XX/queryXX,在nginx配置中配置"location /test1/" proxy_pass 就是拦截然后跳转;这块注意一下后面的/,没有后面的/一直报错404,页面找不到,可以看看自己有没有着这种问题。
OK,全部配置好了。