Nginx相关命令

Nginx安装目录是:/usr/local/nginx/ 通过/usr/local/nginx/sbin/nginx命令执行以下操作

nginx   #启动Nginx
nginx -s stop   #强制停止Nginx服务
nginx -s quit   #正常停止
nginx -s reload   #重新加载Nginx配置文件 然后重启Nginx
nginx -c filename #为 Nginx 指定一个配置文件
nginx -t   #验证配置文件是否有语法错误
nginx -V   #显示版本信息
nginx -V   #显示版本和配置选项信息

配置文件

配置文件的结构
main 配置段
event{}  定义event模型工作特性
http{}  定义http协议相关配置
server{}  虚拟主机配置 http中可以有多个server{}
location{}  根据URL匹配的配置

main配置段

user nobody;   #指定Nginx Worker进程运行用户,默认是nobody帐号
user nobody nobody;
pid /var/run/nginx/nginx.pid   #指定存储nginx主进程PID的文件路径
daemon {on|off}   #是否以守护进程运行进程nginx
worker_processes 2;   #指明了nginx要开启的进程数
server_tokens off; #隐藏Nginx版本号

enevt{} 配置参数

enevt{
worker_connections 1024;  #每一个worker进程能并发处理的最大连接数
use [epoll | rtsig | select | poll];  #指明使用的事件模型
accept_mutex on;  ##设置网路连接序列化,防止惊群现象发生
accept_mutex_delay 500ms; #果一个进程没有互斥锁,它将延迟至少多长时间
multi_accept on;   #设置一个进程是否同时接受多个网络连接
}

http{} 配置参数

http{
include  mime.types;  #文件扩展名与文件类型映射表
default_type  application/octet-stream;   #默认文件类型,默认为text/plain
inculde /usr/local/nginx/conf.d/*.conf;  #加载其他配置文件
keepalive_timeout 65;  #连接超时时间,可以在http,server,location块
gzip  on;   #开启gzip资源压缩
server_tokens off;   #隐藏Nginx版本号
client_max_body_size 8m;  #上传文件的大小限制,可以在http,server,location块
server {
.........
}

location / {
.........
}
}

server{} 配置参数

server {
listen 80; #监听端口
server_name  www.endvv.com  #监听域名地址
root /www/web/public;  #设置网站目录
index index.html index.htm; #默认返回网站的文件 
access_log /www/logs/acces.log  #设置网站日志
error_log /www/logs/error.log   #设置网站错误日志
error_page   500 502 503 504 /50x.html;  #定义错误提示页面
client_max_body_size 8m;  #上传文件的大小限制,可以在http,server,location块
gzip  on;   #开启gzip资源压缩
}

location{}配置参数

#处理php请求到fpm端口
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}

#限制IP访问admin目录
location ^~ /admin/ {  
   allow 1.1.1.1  #只允许1.1.1.1访问admin目录
   deny all;     #全部拒绝
}

#设定查看Nginx状态的地址
location /NginxStatus {
stub_status           on;
access_log            on;
}
   
语法: location[ = | ~ | ~* | ^~ | @ ] /uri/ {...}
配置块: server location会尝试根据用户请求中的URI来匹配上面的/uri表达式,如果可以匹配,就选择 location{}块中的配置来处理用户请求。

location 表达式类型
~  正则匹配,区分大小写;
~* 正则匹配,不区分大小写;
^~ 普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location; 
=  普通字符精确匹配。也就是完全匹配;
/  任何没有匹配成功的,都会匹配这里处理

优先级:
等号类型 (=) 的优先级最高。一旦匹配成功,则不再查找其他匹配项
前缀普通匹配 (^~) 优先级次之。不支持正则表达式。使用前缀匹配,如果有多个 location 匹配的话,则使用表达式最长的那个
正则表达式类型 (~ ~*) 的优先级次之。一旦匹配成功,则不再查找其他匹配项
常规字符串匹配,如果有多个 location 匹配的话,则使用表达式最长的那个
Last modification:October 6th, 2020 at 02:37 am
如果觉得我的文章对你有用,请随意赞赏