Nginx网站服务配置
Posted 正在迷途
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx网站服务配置相关的知识,希望对你有一定的参考价值。
关于nginx
一款高性能、轻量级Web服务软件
- 稳定性高
- 系统资源消耗低
- 对HTTP并发连接的处理能力高
单台物理服务器可支持30000~50000个并发请求
一、nginx相对于apache优缺点
1、nginx相对于apache优点:
轻量级,同样起web 服务比apache占用更少内存及资源;高并发,nginx 处理请求异步非阻塞而apache 则是阻塞型高并发下nginx 能保持低资源低消耗高性能;高度模块化设计编写模块相对简单;社区活跃各种高性能模块出品迅速。
2.apache 相对于nginx 优点:
rewrite,比nginx的rewrite 强大;模块超多,基本想找都可以找到;少bug,nginx的bug相对较多,超稳定;
存在就是理由,一般来说,需要性能的web服务,用Nginx。如果不需要性能只求稳定,那就Apache。Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。
二、编译安装Nginx服务
1、关闭防火墙将nginx所需软件包到/opt目录下
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
nginx-1.12.0.tar.gz
2、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3、创建运行用户、组
useradd -M -s /sbin/nologin nginx
(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
4、编译安装Nginx
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/
./configure \\
--prefix=/usr/local/nginx \\ #指定nginx的安装路径
--user=nginx \\ #指定用户名
--group=nginx \\ #指定组名
--with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 让系统识别nginx的操作命令
5、检查、启动、重启、停止 nginx服务
nginx -t 检查配置文件是否配置正确
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号>
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
nginx网站服务器