Nginx反向代理域名

何为反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

与正向代理 代理客户端不同,反向代理 代理的是原始服务器,负责分发客户端的请求。一般代理服务器和原始服务器是在一个局域网中,代理服务器提供对外网访问,而原始服务器只提供内网访问,这样能够有效保证服务器的安全性,同时通过反向代理又可以减少原始服务器的负载,适合分布架构的系统设计的需求。

Nginx反向代理域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
server {
listen 80; # 监听80端口(默认端口)
server_name http://www.yourdomainname.com; # 这里修改成你自己的域名


location /feedback/ {
root html;
index index.html index.htm;

# 这里将端口转发到你的前端工程的端口上, 如此一来, 当我们访问
# www.yourdomainname.com/feedback 的时候, 能够自动访问到82端口的服务。
proxy_pass http://localhost:82;
}


# 坑点!下面这段配置必须有, 否则你的前端静态资源将无法加载
location ~ .* {
proxy_pass http://127.0.0.1:82; # 这里同样修改为你的前端服务
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}


error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

关闭xshelljar包自动停止的解决方法

我猜测你做完Nginx配置后,大概是要部署一套前后端的项目,当你部署后端项目的时候,如果你是通过远程操作,你会发现如果你简单使用java -jar xxx.jar部署,当你关闭xshell的窗口之后,你的jar包程序也自动停止了。这当然是不可接受的,所以解决方案如下:

  1. nohup意思是不挂断运行,当账户退出或终端关闭时,程序仍然运行,日志内容默认存入nohup.out文件内:

    1
    nohup java -jar xxx.jar
  2. nohup启动的日志输出文件nohup.out是自动生成的,但是我们更希望自己指定日志输出文件,比如输出日志到logs.log文件中,用以下命令:

    1
    nohup java -jar xxx.jar > logs.log &