一、安装Nginx
执行命令:sudo apt-get install nginx
Ubuntu下安装目录默认:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
安装完成后,Nginx会自动启动,然后在浏览器输入服务器域名或ip访问,出现下面的页面则表示Nginx安装成功了。
Nginx常用命令(摘自:javascript:void(0))
sudo service nginx start #启动
sudo service nginx stop #停止
sudo service nginx restart #重新启动
sudo service nginx reload #重新加载配置
sudo nginx -t #检查Nginx配置是否正确
sudo nginx -s start #启动
sudo nginx -s stop #停止
sudo nginx -s restart #重新启动
sudo nginx -s reload #重新加载配置
二、反向代理tomcat
编辑配置文件,执行命令:
vim /etc/nginx/nginx.conf
找到http标签,后面跟着花括号{},里面写了好多东西,直接翻到最后(注意是在这个花括号的最后,不要出去了),添加如下内容:
【2018.12.10补充:如果配置多个域名,可以使用多文件配置。
第一步:在/etc/nginx/下新建一个 vhosts文件夹,里面新建文件test.conf,将下面的内容复制进去,保存。
第二步:编辑/etc/nginx/nginx.conf,在http标签的{}内最后,添加一句 include /etc/nginx/vhosts/*.conf; 即引用第一步的test.conf
第三步:如要增加服务器,在vhost文件夹下,新建test2.conf test3.conf 。。。】
##开始配置反向代理!
upstream mysvr{
server 127.0.0.1:8021; #第一个服务器地址,可以添加多个
}
error_page 404 https://www.baidu.com;
server{
keepalive_requests 120; ##最大请求数限制,超出将自动关闭
listen 80; ##nginx监听端口号
server_name www.abc.com; ##nginx监听服务器ip或域名
location ~*^.+$ {
proxy_pass http://mysvr; ##转发到上面写的mysvr
}
}
##反向代理结束
配置解释:
upstream 模块,定义了一个模块,server字段指的是:反向代理转发的去向,也就是你最终要实现的显示出来的网站。详细配置及说明我还不是很明白,如需详解请自行百度学习。
error_page 404 这一行我也不确定含义(大概是转发失败要跳转的网页吧)
server模块:
listen 80 //80端口是默认的商用端口,直接访问ip或域名,就相当于访问80端口,(为了方便而已)。
server_name www.abc.com //就是地址栏输入这个网址时,nginx实现将请求转发到upstream模块定义的地址。
location 后面写了正则表达式,这个字段的意思是将请求转发到上面mysvr模块定义的服务器去处理。
上面的配置做完后,一定要重启一下nginx才能生效:
service nginx restart
如上,在我的浏览器地址栏输入 www.abc.com 就直接跳到了127.0.0.1:8021。
注意,www.abc.com是我编的,你要写一个你自己已经能用的自己的域名。我的域名是备案过的,并且解析ip是我配置nginx的这台服务器。
我自己的理解:当我在浏览器访问www.abc.com的时候,dns解析到我的ip,直接访问到了我的nginx,nginx根据域名将请求装发到我定义的mysvr字段内的地址。