Nginx网站服务

目录

一、Nginx相关简介

1.Nginx的简介

2.Nginx与Apache区别

3.Nginx应用场景

4.Nginx两种进程

二.编译安装Nginx服务

1.关闭防火墙!!!将安装nginx所需软件包传到/opt目录下

2.安装依赖包

3.创建运行用户、组

4.编译安装Nginx

​编辑

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

新版本升级 

6.添加 Nginx 系统服务

方法一

方法二 


一、Nginx相关简介

1.Nginx的简介

Nginx:

  • Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新
  • 对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求。(实际操作,很多公司为了服务器的稳定,都会设置在20000个左右)

Nginx的主要使用场景: 虚拟主机,反向代理,缓存,http  

Apache:

Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器 

2.Nginx与Apache区别

最核心的区别在于 Nginx 采用异步非阻塞机制,多个连接可以对应一个进程;Apache 采用的是同

步阻塞+多进程/线程模型,一个连接对应一个进程

Nginx 抗并发能力更高

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

Nginx 配置简洁,使用场景多,稳定性高

3.Nginx应用场景

  • 用作web网站服务,处理http静态页面请求
  • 用作虚拟主机,实现一个服务器用于做多个网站站点
  • 用作反向代理、负载均衡,可以作为网关代理服务器接收客户端的请求转发给后端节点服务器集群
  • 用作web缓存服务器

4.Nginx两种进程

master进程:管理worker进程,加载配置文件

worker进程:处理请求连接

二.编译安装Nginx服务

1.关闭防火墙!!!将安装nginx所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld

setenforce 0

官网下载软件包 

nginx-1.24.0.tar.gz

tar xf nginx-1.26.0.tar.gz

2.安装依赖包

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

3.创建运行用户、组

useradd -M -s /sbin/nologin nginx

4.编译安装Nginx

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

make -j 4 && make install

老样子!!!lscpu确认好虚拟机核心数再分配千万别超核心编译!(本人6核) 

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

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

5.检查、启动、重启、停止 nginx服务
nginx -t								#检查配置文件是否配置正确
#启动
/usr/local/nginx/sbin/nginx									
#停止
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号
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号>
#平滑升级
kill -USR2 <PID号>
新版本升级 
tar -zxvf nginx-1.xx.xx.tar.gz 
cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
--with-http_ssl_module
 
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old
cp objs/nginx /usr/local/nginx/sbin/nginx
make upgrade  #要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的,而不是通过查找环境变量中那个 nginx 命令启动的
#或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

6.添加 Nginx 系统服务

方法一
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
方法二 
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

[Unit]:服务的说明
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务
 
[Service]服务运行参数的设置
Type=forking是后台运行的形式,使用此启动类型应同时指定PIDFile=,以便systemd能够跟踪服务的主进程。
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
 
[Install]服务安装的相关设置,可设置为多用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值