linux上nginx环境安装以及反向代理Tomcat实现

以前安装nginx是在Centos6.5上,用自动化脚本安装依赖和nginx一直都很顺利,现在在Centos8.2上不能正常运行,自己研究了下怎么搭建nginx环境和反向代理Tomcat,遇到了一些坑,现在把成功搭建的过程简单记录下。


环境:Centos 8.2 64位

pcre:pcre-8.44,安装包:链接:https://pan.baidu.com/s/1vmrRsZ7gu2TK9B7uym_wVg ,提取码:oe7p 

nginx:nginx-1.19.4.tar.gz安装包:链接:https://pan.baidu.com/s/1pOPfEiUr10bFsUUXilv0wg ,提取码:5m2a 

 

安装gcc

yum -y install gcc automake autoconf libtool make

 

安装g++

yum install gcc gcc-c++   安装时系统会提示:Is this ok [y/N],输入y进行确认

 

安装pcre

将pcre-8.44.zip包上传到/usr/local/src目录下,执行如下命令:

解压:unzip pcre-8.44.zip

进入解压后的目录:cd ./pcre-8.44/

./configure

make && make install

 

安装zlib库

进入到/usr/local/src目录下,执行如下命令:

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure

make && make install

 

安装openssl

yum -y install openssl openssl-devel

 

安装nginx

将nginx-1.19.4.tar.gz包上传到/usr/local/src目录下,执行如下命令:

tar zvxf nginx-1.19.4.tar.gz

cd ./nginx-1.19.4/

./configure --prefix=/home/server/nginx/   指定安装到/home/server/nginx目录下

make && make install

 

启动nginx

进入/home/server/nginx/sbin/(nginx的安装路径)目录下,执行./nginx命令,启动nginx,通过命令:ps -ef | grep nginx,查看有没有nginx的相关进程检查nginx有没有启动成功,如下图所示。

或者在前端通过ip+端口进行访问(在nginx/conf/nginx.conf中进行配置,默认端口为80),如果通过ps -ef | grep nginx命令能够看到上述启动的进程,但是前端无法成功访问,阿里云服务器需要检查安全组策略中80端口(具体要看配置的哪个端口,通常是80端口)有没有开放,其它自己搭建的服务器要检查下防火墙,正常访问页面如下所示。

 

nginx反向代理Tomcat

nginx要实现Tomcat的反向代理,需要在nginx.conf文件中进行配置,修改前配置如下所示。

用多个tomat部署了同一个项目,想要实现反向代码配置如下所示:

srver上新增:

  upstream teach_tomcat{
    #ip_hash;
    server ip:8080 weight=100 max_fails=2 fail_timeout=30s;
    server ip:8090 weight=100 max_fails=2 fail_timeout=30s;
  }
location下新增

proxy_pass http://teach_tomcat;      proxy_pass后http://后的名字要和upstream后的名字保持一致

保存后,进入到sbin目录执行./nginx -s reload命令重启nginx,

配置保存成功后,进入到sbin目录通过./nginx -s reload重启nginx,就可以去掉端口进行访问啦,要想知道具体是访问的哪个Tomcat,需要在nginx.conf配置文件中location下新增:

add_header backendIP $upstream_addr;
       add_header backendCode $upstream_status;

在nginx.conf文件中进行配置的时候,一定不能用tab键,需要用空格进行缩进,要不就会遇到类似错误:nginx: [emerg] unknown directive in /etc/nginx/conf.d/test.conf:51。

配置新增成功后,重启nginx,多次访问项目,可以看到请求中的端口是在不停变化的,默认方式是轮寻,如下图所示。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值