Nginx的安装、升级和管理

目录

一. nginx介绍

1. nginx简介

2. nginx和apache区别

二. nginx编译安装

1. 下载解压nginx安装包,并安装nginx依赖包

2. 创建运行用户和组

3. 编译安装并补全

4. 效验结果

三. 平滑升级nginx

1. 下载解压nginx安装包

2. 编译安装

3. 替换二进制文件

4. 升级nginx

四. systemctl管理nginx

1. 通过脚本文件管理

2. 配置管理文件管理


一. nginx介绍

1. nginx简介

Nginx是一个轻量级/高性能的反向代理Web服务器,特点是占用内存少,并发能力强,能实现非常高效的反向代理、负载平衡,可以处理5万并发连接数。

2. nginx和apache区别

apache:同步多进程模型,基于子进程,单个线程处理单个请求

nginx:处理请求是异步非阻塞的,所有请求都由一个线程处理,在高并发下能保持低资源,低消耗高性能,相比于apache占用更少的内存和资源

二. nginx编译安装

1. 下载解压nginx安装包,并安装nginx依赖包

https://nginx.org/en/download.html
#官网下载nginx软件包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
#安装nginx依赖包 

2. 创建运行用户和组

Nginx 服务程序默认以 nobody 身份运行

建议为其创建专门的用户账号,以便更准确地控制其访问权限

3. 编译安装并补全

cd nginx-1.24.0/

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

make && make install

#让系统识别nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/


#指定nginx的安装路径
--prefix=/usr/local/nginx

#指定用户名
--user=nginx

#指定组名
--group=nginx

#启用 http_stub_status_module 模块以支持状态统计
--with-http_stub_status_module

4. 效验结果

三. 平滑升级nginx

1. 下载解压nginx安装包

tar xf nginx-1.25.3.tar.gz

cd nginx-1.25.3/

2. 编译安装

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

make

3. 替换二进制文件

#备份旧版本ngin
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

#把新版本文件转过去
cp objs/nginx /usr/local/nginx/sbin/nginx

4. 升级nginx

#要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的
#而不是通过查找环境变量中那个 nginx 命令启动的
killall nginx
/usr/local/nginx/sbin/nginx

#编译升级
make upgrade

四. systemctl管理nginx

1. 通过脚本文件管理

vim /etc/init.d/nginx

#!/bin/bash
#chkconfig: - 99 20
#description:Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
  $COM
;;

stop)
  kill -s QUIT $(cat $PID)
;;

restart)
  $0 stop
  $0 start
;;

reload)
  kill -s HUP $(cat $PID)
;;

*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1

esac
exit 0


chmod +x /etc/init.d/nginx

#添加为系统服务
chkconfig --add nginx

2. 配置管理文件管理

vim /lib/systemd/system/nginx.service

[Unit]
#服务的说明
Description=nginx
#描述服务
After=network.target
#依赖,当依赖的服务启动之后再启动自定义的服务
[Service]
#服务运行参数的设置
Type=forking
#后台运行的形式,使用此启动类型应同时指定PIDFile=,以便systemd能够跟踪服务的主进程
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
#服务的具体运行命令
ExecReload=/bin/kill -s HUP $MAINPID
#重启命令
ExecStop=/bin/kill -s QUIT $MAINPID
#停止命令
PrivateTmp=true
#给服务分配独立的临时空间
[Install]
#服务安装的相关设置,可设置为多用户
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值