nginx 和 tomcat 协同

nginx

nginx功能:反向代理,负载均衡。

本质上nginx只是一个代理服务器 负责转发用户的请求给真正的server,nginx代理了很多不同的真正的server。
比如nginx监听80端口,转发给tomcat 8080.

优点:

  • 安全性
  • 访问性能

看起来麻烦,但可以把静态页面交给nginx管理
tomcat管理动态的。

nginx安装

是编译安装。

安装命令:
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
nginx下载地址:https://nginx.org/download/
下载“nginx-1.16.1.tar.gz”,移动到/usr/local/下。

解压

tar -zxvf nginx-1.9.9.tar.gz
##进入nginx目录
cd nginx-1.9.9

配置

./configure --prefix=/usr/local/nginx

make

make
make install

OK,现在可以执行make 了。

执行make、make install命令
测试是否安装成功

cd到刚才配置的安装目录/usr/loca/nginx/

./sbin/nginx -t

错误信息:
nginx: [alert] could not open error log file: open() “/usr/local/nginx/logs/error.log” failed (2: No such file or directory)
2016/09/13 19:08:56 [emerg] 6996#0: open() “/usr/local/nginx/logs/access.log” failed (2: No such file or directory)
原因分析:nginx/目录下没有logs文件夹
解决方法:
mkdir logs
chmod 700 logs
正常情况的信息输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx
cd /usr/local/nginx/sbin
./nginx //启动nginx
在浏览器中输入服务器的ip地址,如:192.168.1.12
很不幸,打不开链接。下面进行原因排查:

nginx -t  # 验证配置文件;无法验证其它文件的情况
nginx -s reload # 重新加载;可以重启其它文件启动的情况
nginx -s stop # 快速停止
nginx -s quit  # 正常停止
nginx -V # 查看版本
nginx -c conf/web01.conf # 使用另一个配置文件

说明服务器的80端口是打不开的。
因为我使用的linux系统版本是CentOS7,所以可以在服务器中执行如下命令来验证》》
firewall-cmd --query-port=80/tcp

显然80端口没有开启。
下面我们开启80端口:
firewall-cmd --add-port=80/tcp --permanent
#重启防火墙
systemctl restart firewalld
–permanent #永久生效,没有此参数重启后失效

刷新浏览器

====================== 分割线 ====================
配置完毕!
2、配置nginx开机自启动
vim /etc/rc.d/rc.local

在这里插入图片描述

tomcat

比如tomcat才是真正的server。

nginx配置反向代理的tomcat

# cd /usr/local/nginx/conf
修改 nginx.conf

下图中, proxy_pass 配置的就是代理的tomcat。
配置后,重启nginx。
这样浏览器访问nginx 80端口,本质上是访问了tomcat 8000端口(注此处tomcat端口8080修改为了8000)

重启nginx方式:
 # pkill -9 nginx
 # cd /usr/local/nginx/sbin/
 # ./nginx

在nginx.conf中
修改 server/location,添加
proxy_pass http://localhost:8080/
当浏览器访问80端口时,就会代理到8080。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值