SUSE Linux下安装Nginx+避免请求被WAS转发增加9080端口

记录在SUSE Linux安装nginx的历程+添加WAS属性避免转发WAS端口号(详细安装过程)

为何安装nginx

由于本屌做的新项目是小程序、web端两套应用,为了缓解访问压力要实现了负载均衡。架构评审会没有通过使用F5,所以我们使用了nginx。众所周知,F5花钱啊,nginx软负载免费啊。

重新安装Nginx+避免WAS转发9080端口

1、准备操作
(1)介质准备:openssl、zlib、pcre、nginx安装包,均解压完。最好放在同一个目录下,配置nginx模块的时候可以少写些相对路径
(2)环境准备
查看Linux的版本信息(介质最好兼容)

 #uname -a  或 #cat /proc/version

检查服务器是否安装了GCC、GCC-C++

 #rpm -qa | grep gcc

出现这样的结果说明服务器安装了GCC、GCC-C++
(若没有出现这些信息需要安装Linux系统对应版本的GCC或GCC-C++,此处不在赘述)

2、开始安装

(1)安装zlib

#cd zlib-1.2.11
#./configure
#make
#make install

(2)安装pcre

#cd  pcre-8.43
#./configure
#make
#make install

(3)安装openssl(非必须,https需要用的)

#cd openssl-1.1.1d
#./config
#make
#make install

(4)nginx配置模块

#cd nginx-1.17.5
#./configure --with-pcre=../pcre-8.43  --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1d  
#make
#make install

ps:当安装配置成功后,会出现nginx的工作目录

3、校验配置文件
此处不再赘述如何配置负载均衡、反向代理等配置了,网上其他大神说的很清楚了(nginx -t 校验nginx.conf配置文件的是否正确,若出现以下提示,则正确)

# /usr/local/nginx/sbin/nginx -t

出现此类结果,说明nginx.conf文件的内容编译通过
4、尝试启动

#/usr/local/nginx/sbin/nginx(这是启动nginx服务)
#/usr/local/nginx/sbin/nginx -s reload(重启,有nginx服务的时候,可用此命令)

**注:**一定要先启动nginx服务,再启动nignx。完后查看nginx进程
nginx的进程起来了
5、错误解释
(1)nginx绑定80端口失败
80端口绑定失败

#netstat -ntlp 

找出占用80端口的进程与进程号,再杀掉占用80端口的进程号

Kill -9 进程号

再次启动nginx服务,并输入。出现以下图片说明80端口被nginx监听了。

#netstat -ntlp

80端口被nginx监听啦
(2)open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
这个错误代表没有启动nignx服务。如果启动了,还是有这个问题,可能之前操作服务器的人,TA思想出了问题。这里需要手写nginx的pid至nginx.pid文件中

6、WAS定制属性配置,避免nginx转发附带9080端口
由于nginx会把网络请求代理到应用服务器上,但是本屌配置完毕,每次网络请求都加上了was的端口号9080,正常应该为80。在WAS的管理控制台增加2个属性,问题终于解决了
应用程序服务器 > server1 > Web 容器 > 定制属性

com.ibm.ws.webcontainer.extractHostHeaderPort  = true
trusthostheaderport  = true

WAS配置端口属性
7、HTTPS模块增加
对于使用https的应用,nginx需要增加对https支持的模块。
#./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-zlib= 路径 --with-openssl=路径(这里是增加的参数,nginx的安装地址、路径需要根据实际情况填写)
**注:**之前的模块也要配置进去,在make

#make

千万千万不能 make install ;否则会把之前已经安装的nginx 覆盖掉!

备份原始的nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

把新程序的nginx覆盖原始的nginx

#cp objs/nginx /usr/local/nginx/sbin/nginx

如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx’: Text file busy”

建议使用如下语句cp

cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

再用nginx -v验证模块配置成功与否,后来就是启动nginx了

8、证书申请与自签
若应用需要使用https协议,需要开通443端口。需要进行域名的申请,证书是可以自签的,并在nginx.conf文件中进行配置。网上有很多自签方法,此处就不详细叙述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值