目录
Nginx 是一个高性能的 HTTP 和反向代理服务器,广泛用于 web 服务器、反向代理、负载均衡和 HTTP 缓存等。本文将介绍 Nginx 中最常用的命令,涵盖安装与配置、基本操作、日志管理、虚拟主机管理以及性能优化等方面。
一、Nginx 安装与配置
1.1 下载与安装
1.1.1 下载 Nginx 源代码
wget http://nginx.org/download/nginx-1.21.3.tar.gz
1.1.2 解压并安装 Nginx
tar -zxvf nginx-1.21.3.tar.gz
cd nginx-1.21.3
./configure
make
sudo make install
1.2 配置文件
1.2.1 Nginx 配置文件路径
/etc/nginx/nginx.conf
1.2.2 测试配置文件语法
sudo nginx -t
1.2.3 重新加载配置文件
sudo nginx -s reload
二、Nginx 基本操作
2.1 启动与停止
2.1.1 启动 Nginx
sudo nginx
2.1.2 停止 Nginx
sudo nginx -s stop
2.1.3 优雅地停止 Nginx
sudo nginx -s quit
2.2 重启与重新加载
2.2.1 重启 Nginx
sudo systemctl restart nginx
2.2.2 重新加载配置
sudo systemctl reload nginx
2.2.3 检查 Nginx 状态
sudo systemctl status nginx
三、日志管理
3.1 访问日志
3.1.1 查看访问日志
tail -f /var/log/nginx/access.log
3.1.2 访问日志格式配置
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 /var/log/nginx/access.log main;
3.2 错误日志
3.2.1 查看错误日志
tail -f /var/log/nginx/error.log
3.2.2 错误日志级别配置
error_log /var/log/nginx/error.log warn;
四、虚拟主机管理
4.1 配置虚拟主机
4.1.1 创建虚拟主机配置文件
server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
try_files $uri $uri/ =404;
}
}
4.1.2 启用虚拟主机配置
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
4.2 管理虚拟主机
4.2.1 禁用虚拟主机
sudo unlink /etc/nginx/sites-enabled/example.com
4.2.2 测试虚拟主机配置
sudo nginx -t
五、性能优化
5.1 缓存配置
5.1.1 启用缓存
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
}
5.1.2 清除缓存
sudo rm -rf /data/nginx/cache/*
5.2 连接优化
5.2.1 调整 worker 进程数
worker_processes auto;
5.2.2 设置连接超时
keepalive_timeout 65;
client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;
//nginx 出现504 Gateway Time-out的解决方法
proxy_connect_timeout 300; #单位秒
proxy_send_timeout 300; #单位秒
proxy_read_timeout 300; #单位秒
通过上述命令,您可以高效地管理和操作 Nginx,确保其稳定运行并提升性能。