首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

CentOS7-Nginx安装及动态新增模块安装笔记

2024-12-19 来源:化拓教育网

说明:

因为后续的相关的Python web需要依赖于nginx做相关的反向代理和负载均衡,所以我们的这里需要学习如何安装和配置以及如何动态新增模块的安装。

PS:安装模块的时候会覆盖会覆盖原来的编译的文件,所以再重新安装新增的模块的时候,记得要先把已有的模块 也一起安装上

--with-http_secure_link_module 
configure arguments: --prefix=/usr/local/nginx --add-module=/data/bak/nginx-accesskey --with-http_secure_link_module

第1步:nginx相关依赖的安装

#yum install -y pcre-devel
#yum install -y opensslopenssl-devel
#yum install gcc gcc-c++ncurses-devel perl
#yum -y install zlib zlib-devel
#yum -y install nano
#yum install wget
或者:
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++   openssl-devel cmakepcre-develnanowget  gcc gcc-c++ ncurses-devel perl

第2步:新建用于存放下载文件的地方

# mkdik -p /data/bak/
# cd /data/bak/

第3步:下载nginx

#wget http://nginx.org/download/nginx-1.10.3.tar.gz

第3步:解压并安装

#tar -zxvf nginx-1.10.3.tar.gz

#cd nginx-1.10.3

#./configure&& make && make install

PS:在执行./configure&& make && make install的时候可能会出现的问题有:
(1)make这一步的时候只出现了一行“make[1]: Leaving directory`/usr/local/nginx-1.xx.xxx;”提示,不用管它,继续走make install ;
(2)./configure&& make && make install 可以分布进行命令执行

第4步:安装成功后,可以弄一个软连接指向 /usr/bin/nginx(非必须)

#ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

第5步:启动nginx

#nginx

第6步:检查相关的进程是否有启动

查看进程启动情况 :

[root@localhost nginx-1.10.3]# ps -ef|grep nginx
root       5674      1  0 21:14 ?        00:00:00 nginx: master process nginx
nobody     5675   5674  0 21:14 ?        00:00:00 nginx: worker process
root       5683   2043  0 21:16 pts/0    00:00:00 grep --color=auto nginx
[root@localhost nginx-1.10.3]#  

查看端口情况 (第一种方式):

[root@localhost nginx-1.10.3]# netstat -antup | grep nginx
tcp        0      0 0.0.0.0:19082           0.0.0.0:*               LISTEN      5674/nginx: master  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5674/nginx: master  
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      5674/nginx: master  
tcp        0      0 0.0.0.0:8089            0.0.0.0:*               LISTEN      5674/nginx: master  
[root@localhost nginx-1.10.3]# 

查看端口情况 (第二种方式):

[root@localhost nginx-1.10.3]# lsof -i:80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   5674   root    6u  IPv4  23504      0t0  TCP *:http (LISTEN)
nginx   5675 nobody    6u  IPv4  23504      0t0  TCP *:http (LISTEN)
[root@localhost nginx-1.10.3]# 

第7步:防火墙处理-线上环境不需要关闭

systemctl stop firewalld 

PS:(非线上环境可关闭防火墙进行测试)

第8步:访问nginx默认的主页

查看返回:webcome to nginx 则表示成功!

一些注意事项:

在进行python web 项目端口使用绑定的时候 !需要留意查看nginx绑定出错!如果提示绑定出错的!!可能reload也不会提示!所以一般建议是去查看错误日志和请求日志!
如果启动的失败的话!!!!!!有可能导致整个的nginx就挂了!

新增模块的安装

因为一开始我们的安装的时候是直接的使用./configure的方式进行安装的,但是我们的在后期需要新增一些模块的时候是需要重新编译的,这里记录一下如何动态增加模块

第1步:查看nginx编译的时候安装了哪些模块

[root@localhost ~]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments:
[root@localhost ~]# 
image.png

PS:

nginx -V | tr ' '  '\n'|grep ssl

第2步:如何涉及到第三方模块安装,就下载对应的模块

第3步:加入需要安装的模块,重新编译

[root@localhost ~]# cd /data/bak/nginx-1.10.3
[root@localhost nginx-1.10.3]# ./configure --prefix=/usr/local/nginx   --with-http_secure_link_module
image.png

第4步:再重新make,

注意:(PS不需要make install)

[root@localhost nginx-1.10.3]#make

第5步:再查看相关模块安装的情况

发现没有增加上去

[root@localhost nginx-1.10.3]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments:
[root@localhost nginx-1.10.3]# 

第6步:重新复制一份新编译的到对应的nginx目录下,替换nginx二进制文件:

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

[root@localhost nginx-1.10.3]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
[root@localhost nginx-1.10.3]# cp ./objs/nginx /usr/local/nginx/sbin/
cp: overwrite ‘/usr/local/nginx/sbin/nginx’? y
[root@localhost nginx-1.10.3]# 

PS:

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

建议使用如下语句cp

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

第7步:再次查看

[root@localhost nginx-1.10.3]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --with-http_secure_link_module

第8步:nginx -s reload

显示全文