初入Nginx反向代理
我们希望实现的是通过访问某个域名能够访问到tomcat的主页。
- 在Nginx安装目录的conf目录下新建一个vhost目录,然后在vhost目录下新建配置文件,文件名需要以.conf结尾。
cd /usr/local/nginx/conf/
mkdir vhost
cd vhost/
vim www.silly.com.conf
- 配置文件添加如下内容,这里server_name配置的是主机对应的域名,如果没有域名可以通过配置host来映射虚拟域名,或者这里直接配置ip地址,然后用ip访问,proxy_pass是反向代理配置。
server {
listen 80;
autoindex on;
server_name www.silly.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
proxy_pass http://127.0.0.1:8080;
add_header Access-Control-Allow-Origin *;
}
}
- 配置完成之后,编辑Nginx主配置文件nginx.conf,在http节点下添加如下内容,注意分号不可省略。
- 重启Nginx:/usr/local/nginx/sbin/nginx -s reload
- 然后启动tomcat:${tomcat}/bin/startup.sh
- 访问域名:http://www.silly.com/,就可以访问到tomcat的主页了。
**总结:整个过程就是当我们访问域名时,首先根据host配置映射到了一个IP地址,不加端口默认访问的就是80端口,也就是访问到了Nginx,在Nginx配置中对该域名进行了反向代理,代理到了本机的8080端口服务,
**