Nginx

Centos系统下学习

centos

安装

依赖安装

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel

开始安装

./configure --prefix=/usr/local/nginx
make
make install

命令

nginx #启动
nginx -s stop #立即停止
nginx -s quit #优雅关闭,所有请求处理完成之后再停止
nginx -s reload #重新加载配置,不影响正在进行的进程

启动成功截图

设置自启脚本

编辑

vi /usr/lib/systemd/system/nginx.service

脚本内容

[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载系统服务

systemctl daemon-reload

系统服务命令

systemctl start nginx #启动nginx
systemctl status nginx #检查nginx状态
systemctl ebable nginx #开机自启

Nginx运行原理和配置文件

nginx-process

work_processes 1;#开启多少个进程
events{
    #1个进程最多可以多少连接
    #单个进程最大连接数(最大连接数=连接数*进程数)
    work_connections 1024;
}
http{
    #include 用于引入其他配置文件
    #mime.types 用于匹配文件类型
    include mime.types;
    #默认的文件类型
    default_type application/pctet_stream;

    #是否开启零拷贝
    sendfile on;

    #长连接
    keepalive_timeout 65;

    #一个server代表一个虚拟主机(vhost)
    server{
        #监听的端口号
        listen 80;
        #主机名 可以是域名、主机名
        server_name localhost;
        location /{
            #根目录 html是相对目录 相对于nginx主目录
            root html;
            #默认页面
            index index.html index.htm;
        }
        #报错页面
        error_page 500 502 503 504 /50x.html;
        location =/50x.html{
            root html;
        }
    }
}

server_name配置

  • 普通匹配

  • 通配符匹配

    *.xxcheng.cn

    www.xxcheng.cn aaa.xxcheng.cn

  • 通配符结束匹配

    www.xxcheng.*

    www.xxcheng.cn www.xxcheng.top

  • 正则匹配

    ~^[0-9]+\.xxcheng\.cn$

    111.xxcheng.cn 222.xxcheng.cn