RHEL/CentOS yum安装Nginx/编译
在新机器上第一次安装 nginx 之前,您需要设置 nginx 包存储库。之后,您可以从存储库安装和更新 nginx。
Yum安装nginx
配置Yum源的官网:<http://nginx.org/en/linux_packages.html
安装先决条件:
yum install yum-utils -y
要设置 yum 存储库,请创建以/etc/yum.repos.d/nginx.repo
以下内容命名的文件 :
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
默认情况下,使用稳定 nginx 包的存储库。如果您想使用主线 nginx 包,请运行以下命令:
yum-config-manager --enable nginx-mainline
安装
yum install nginx -y
启动Nginx并设置开机自动运行
systemctl start nginx.service && systemctl enable nginx.service
#nginx -v
查看版本
编译安装 Nginx【端口:80】
Nginx简介:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
安装编译 Nginx 依赖包和下载安装包
yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel
wget https://nginx.org/download/nginx-1.20.2.tar.gz
创建 Nginx 运行用户
useradd -s /sbin/nologin -M nginx
解压配置 Nginx 编译
[root@xiaoqiang ~ ]# tar zxvf nginx-1.20.2.tar.gz -C /usr/local/
[root@xiaoaing ~]# cd /usr/local/nginx-1.20.2/
[root@xiaoqiang nginx-1.20.2]# ./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/sbin/nginx \
--error-log-path=/var/log/nginx/nginx_error.log \
--http-log-path=/var/log/nginx/nginx_access.log \
--pid-path=/usr/local/nginx/run/nginx.pid
Nginx 编译安装
make -j 2 && make install
测试 Nginx 是否安装成功
[root@xiaoqiang nginx-1.20.2]# nginx -v
nginx version: nginx/1.20.2
启动服务
[root@xiaoqiang nginx-1.20.2]# /usr/sbin/nginx
验证 Nginx 服务是否启动成功
[root@xiaoqiang nginx-1.20.2]# netstat -lntp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 29740/nginx: master
系统添加 Nginx 服务
以 systemd 形式添加,创建 nginx.service 文件
[root@xiaoqiang ~]# vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
以 systemctl 方式启动 Nginx
pkill nginx && systemctl daemon-reload && systemctl start nginx
查看 Nginx 服务状态
[root@xiaoqiang ~]# ps -ef | grep nginx
root 31469 1 0 23:11 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 31470 31469 0 23:11 ? 00:00:00 nginx: worker process
root 31554 1182 0 23:11 pts/0 00:00:00 grep --color=auto ngin
再次验证 Nginx 服务是否成功启动
[root@xiaoqiang ~]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 349/nginx: master p
配置 Nginx 服务自动启动
[root@xiaoqiang ~]# systemctl enable nginx