1、Nginx常用命令
(1)默认启动命令
./nginx
(2)启动-指定某个配置文件
./nginx -c /usr/local/nginx/conf/nginx.conf
(3)重启命令
./nginx -s reload
(4)停止命令
./nginx -s stop
(5)杀死进程
#nginx有master process 和workerprocess,关闭master即可
ps -ef | grep "nginx"
kill -9 PID
2、核心目录文件详解
-
conf:所有配置⽂件⽬录
- nginx.conf :默认的主要的配置⽂件
- nginx.conf.default :默认模板
-
html : 这是编译安装时Nginx的默认站点⽬录
- 50x.html :错误⻚⾯
- index.html :默认⾸⻚
-
logs : nginx默认的⽇志路径,包括错误⽇志及访问⽇志
- error.log :错误⽇志
- nginx.pid :nginx启动后的进程id
- access.log :nginx访问⽇志
-
sbin :nginx命令的⽬录
- nginx:启动命令
3、配置文件详解
- 核心配置文件
(1)配置项
- 含义:每个配置项由配置指令和指令参数 2 个部分构成
user nobody; # 指定Nginx Worker进程所属⽤户组
worker_processes 1; # woker进程数目,一般和CPU的核数保持一致
error_log logs/error.log; # 错误⽇志的存放路径和错误⽇志
error_log logs/error.log notice;#日志级别
error_log logs/error.log info;
pid logs/nginx.pid; # nginx进程PID存放路径
(2)事件模块指令
- 含义:⽤来指定Nginx的IO模型,Nginx⽀持的有 select、poll、kqueue、epoll 等。
events {
use epoll;
# 定义Nginx每个进程的最⼤连接数, 作为服务器来说: worker_connections * worker_processes,
# 作为反向代理来说,最⼤并发数量应该是 worker_connections * worker_processes/2。
# 注解:因为反向代理服务器,每个并发会建⽴与客户端的连接和与后端服务的连接,会占⽤两个连接
worker_connections 1024;
}
(3)虚拟主机配置
- 虚拟主机:一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供Web服务,并且互相不干扰。
http {
include mime.types;
default_type application/octet-stream;
# ⾃定义服务⽇志
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
# 是否开启⾼效传输模式 on开启 off关闭
sendfile on;
#减少⽹络报⽂段的数量
#tcp_nopush on;
#keepalive_timeout 0;
# 客户端连接保持活动的超时时间,超过这个时间之后,服务器会关闭该连接
keepalive_timeout 65;
#gzip on;
# 虚拟主机的配置
server {
listen 80; # 虚拟主机的服务端⼝
server_name localhost; #⽤来指定IP地址或域名,多个域名之间⽤空格分开
#charset koi8-r;
#access_log logs/host.access.log main;
#URL地址匹配
location / {
root html; # 服务默认启动⽬录
index index.html index.htm; # 默认访问⽂件,按照顺序找
}
#error_page 404
/404.html; #错误状态码的显示⻚⾯
# redirect server error pages to the
static page /50x.html
error_page 500 502 503 504
/50x.html;
location = /50x.html {
root html;
}