Nginx的安装、升级和管理
2023-12-13 13:00:42
目录
一.?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
文章来源:https://blog.csdn.net/qq_27349729/article/details/134836234
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!