目录
1.创建Nginx目录
mkdir /usr/nginx
2.用xftp上传安装包
3. 解压安装包
tar -zxvf nginx-1.20.2.tar.gz
4.安装编译工具及依赖库
yum -y install gcc pcre-devel zlib-devel openssl-devel libxml2-devel libxslt-devel gd-devel GeoIP-devel jemalloc-devel libatomic_ops-devel perl-devel perl-ExtUtils-Embed
#安装Nginx需要先将官网下载的源码进行编译,依赖gcc环境
#PCRE是一个perl库,包括perl兼容的正则表达式库。Nginx的http模块使用pcre库来解析正则表达式
#zlib库提供很多种压缩解压缩方式,Nginx使用zlib对http包的内容进行gzip
#OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及
SSL协议,并提供丰富的应用程序供测试或其它目的使用。Nginx不仅支持http协议,还支持HTTPS协议
(即在SSL协议上传输http)。
5.编译配置参数
编译Nginx源码文件时,首先需要通过编译配置命令configure进行编译配置。编译配置命令configure的常用编译配置参数如下图所示。
对于上图,有以下三点说明。
- TCMalloc是谷歌开源的一个内存管理分配器,优于Glibc的malloc内存管理分配器。
- upstream是被代理服务器组的Nginx内部标识,通常称为上游服务器。
- 开启pcre JIT支持,可以提升处理正则表达式的速度。
如图所示,具有带“–with”前缀的编译配置参数的模块都不会被默认编译,若要使用该功能模块,需要使用提供的编译配置参数进行编译配置。相反,具有带“–without”前缀的编译配置参数的模块都会被默认编译,如果不想使用某个功能模块,在进行编译配置时添加带有“–without”前缀的参数即可。此处只列出了常用功能的编译配置参数,也可以通过编译配置命令的帮助参数获得更多的编译配置参数。
./configure --help
cd nginx-1.20.2/
# 编译所有功能模块
./configure \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre-jit
# 执行configure操作检测当前系统环境,已确保能成功安装Nginx,如果出错,请检查上述安装前依赖包是否已经安装。
无报错信息:
6.执行make安装
make命令的功能是用于编译内核或源码文件。make是GNU工程化编译工具,用于编译众多相互关联的源代码文件,也可以编译内核或模块功能,以工程化的工作方式,提高开发效率。
初次运行make命令时,它会通过扫描Makefile文件找到目标及其依赖关系,并在建立依赖关系后依次编译所对应的源码程序。
[root@Tomcat nginx-1.20.2]# make
[root@Tomcat nginx-1.20.2]# make install
#会将Nginx安装到/usr/local/nginx目录下,所以请勿占用nginx目录命名
7.通用方式启动nginx
/usr/local/nginx/sbin/nginx #启动
/usr/local/nginx/sbin/nginx -s reload #重启
/usr/local/nginx/sbin/nginx -s quit #关闭nginx
8. 使用systemd 管理控制启动模式
systemd 配置文件说明:
-
每一个 Unit 都需要有一个配置文件用于告知 systemd 对于服务的管理方式
-
配置文件存放于 /usr/lib/systemd/system/,设置开机启动后会在 /etc/systemd/system 目录建立软链接文件
-
每个Unit的配置文件配置默认后缀名为.service
-
在 /usr/lib/systemd/system/ 目录中分为 system 和 user 两个目录,一般将开机不登陆就能运行的程序存在系统服务里,也就是 /usr/lib/systemd/system
-
配置文件使用方括号分成了多个部分,并且区分大小写
切换到/lib/systemd/system/目录,创建nginx.service文件
cd /lib/systemd/system/
vim nginx.service
在文件添加下面内容:
[Unit] # 记录service文件的通用信息
Description=nginx - web server # Nginx服务描述信息
After=network.target remote-fs.target nss-Tookup.target # Nginx服务启动依赖,在指定服务之后启动
[Service] # 记录service文件的service信息
Type=forking # 标准UNIX Daemon使用的启动方式
PIDFile=/usr/local/nginx/logs/nginx.pid # Nginx服务的pid文件位置
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install] # 记录service文件的安装信息
WantedBy=multi-user.target # 多用户环境下启用
保存并退出后,
systemctl enable nginx.service
#开机启动
#启动Nginx
systemctl start nginx.service
#终止nginx
systemctl stop nginx.service
#重启nginx
systemctl restart nginx.service
#查看nginx进程
ps -ef | grep nginx
8.验证是否安装nginx成功
如果没有,则配置80端口或者关闭防火墙即可生效
firewall-cmd --permanent --add-port=80/tcp #在防火墙添加端口80
# --permanent 策略写入到永久生效表中,立即生效
firewall-cmd --reload #重启防火墙 或者 systemctl restart firewalld.service
firewall-cmd --query-port=80/tcp #查看端口是否开启
安装完成!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74683.html