Nginx服务

目录

编译安装Nginx服务

1、关闭防火墙和核心防护,将安装nginx所需软件包传到机器上

2、安装依赖包

3、创建运行用户、组

4、编译安装Nginx

5、检查、启动、重启、停止 nginx服务

检查配置文件是否配置正确

启动

停止

重载

平滑升级

nginx的进程

6、添加 Nginx 系统服务


nginx 和 apache 的区别

nginx 采用的是异步非阻塞机制,一个进程可以同时处理多个连接。

apache 采用的是同步阻塞+多进程/多线程模型,一个进程只能同时处理一个连接。

nginx的优点

nginx 抗并发能力更高(处理 2-3 万并发连接数,最高能支持 5 万并发)

nginx 更轻量,CPU、内存资源消耗更少

nginx 配置简洁,使用场景多,性能稳定

nginx 的应用场景

用作web网站服务,处理静态网页请求

用作虚拟主机,实现在一个服务器上部署多个网站站点

用作反向代理、负载均衡,可作为网关代理服务器接收客户端的请求再转发给后端上游服务器处理

用作web缓存服务器,缓存经常被访问的静态网页资源

编译安装Nginx服务

1、关闭防火墙和核心防护,将安装nginx所需软件包传到机器上

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

软件包

nginx-1.24.0.tar.gz

2、安装依赖包

安装依赖环境

nginx的配置及运行需要pcre、zlib、openssl等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

3、创建运行用户、组

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限

useradd -M -s /sbin/nologin nginx

4、编译安装Nginx

配置软件模块

tar zxvf nginx-1.24.0.tar.gz -C /opt/

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

--prefix=/usr/local/nginx               ---指定nginx的安装路径
--user=nginx                                ---指定用户名
--group=nginx                              ---指定组名
--with-http_stub_status_module  ---启用 http_stub_status_module 模块以支持状态统计

编译安装

make -j 2 && make install

让系统识别nginx的操作命令

5、检查、启动、重启、停止 nginx服务
检查配置文件是否配置正确

nginx -t

启动

/usr/local/nginx/sbin/nginx

查看nginx的PID号

cat /usr/local/nginx/logs/nginx.pid

查看nginx的端口号(nginx的端口号和httpd的默认端口号相同,所以安装nginx时不能开启httpd服务)

netstat -ntlp | grep nginx

后台启动nginx

nginx

前台启动ngnix

nginx -g "daemon off;" (Ctrl + c 退出)

当nginx已经启动时,再用启动命令

停止

kill -3 <PID号>

kill -s QUIT <PID号>

killall -3 nginx

killall -s QUIT nginx

重载

kill -1 <PID号>

kill -s HUP <PID号>

killall -1 nginx

killall -s HUP nginx

kill -USR1 <PID号> 用于日志分割,重新打开日志文件(生成新的log文件)

平滑升级

kill -USR2 <PID号>

官网下载最新版,上传。

tar xf nginx-1.27.1.tar.gz

cd nginx-1.27.1

配置软件模块

cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module(也可用Ctrl+r搜索历史命令)

编译

make -j 2

替换objs中的二进制文件nginx

备份以前的nginx文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

替换新的nginx

cp objs/nginx /usr/local/nginx/sbin/nginx

升级(要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的,而不是通过查找环境变量中那个 nginx 命令启动的。可以先关闭nginx,再通过/usr/local/nginx/sbin/nginx启动。)

make upgrade

查询版本号

nginx -v

nginx的进程

master进程:管理worker进程,加载配置文件
worker进程:处理连接请求

6、添加 Nginx 系统服务

方法一

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
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(加权)
systemctl start nginx.service(开启服务)
systemctl enable nginx.service(设置开机自启)

方法二

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(添加为系统服务)

systemctl stop nginx(开启服务)
systemctl start nginx(设置开机自启)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值