公众原文-我写了一份流量主教程欢迎大家领取Nginx是一款轻量级的Web服务器、反向代理服务器和负载均衡器由俄罗斯程序员Igor Sysoev开发。Nginx的设计目标是高性能、高并发、高可靠、低资源消耗可以作为Web服务器、反向代理服务器和负载均衡器使用。在日常运维和开发中熟练掌握Nginx的常用命令非常关键。为了方便记忆我将 Nginx 常用命令分为服务控制、配置检查、信息查看以及Systemd 系统命令四大类。一、服务控制命令启动 Nginxnginx直接输入 nginx 即可启动服务器。启动后默认在后台运行。2. 停止 Nginx停止分为快速停止和优雅停止两种快速停止nginx-sstop立即断开所有连接停止服务。相当于拔电源不管当前是否有正在处理的请求。优雅停止nginx-squit优雅地停止服务。Nginx 会拒绝接收新的请求但会等当前正在处理的请求全部完成后再关闭进程。3. 重载配置文件nginx-sreload当修改了 nginx.conf 配置文件后不需要重启 Nginx使用该命令就可以让新配置生效。其原理是主进程会重新读取配置启动新的 Worker 进程并通知旧的 Worker 进程在处理完当前请求后优雅退出。4. 重新打开日志文件nginx-sreopen此命令常用于日志轮转当 Nginx 的日志文件被移动或重命名后Nginx 仍然会向旧的文件描述符写日志。使用此命令可以让 Nginx 重新打开日志文件生成新的文件描述符。二、配置检查与指定命令检查配置文件语法nginx-t在重启或重载配置之前务必使用此命令检查配置文件是否有语法错误。如果配置有误Nginx 会报错并指出具体行号防止因配置错误导致服务宕机。2. 检查并打印配置nginx-T不仅检查语法还会将最终生效的完整配置文件内容打印到终端。在排查配置包含关系时非常有用。3. 指定配置文件位置nginx-c/path/to/custom/nginx.conf默认情况下Nginx 会读取编译时指定的路径通常是 /etc/nginx/nginx.conf。如果想用一份自定义的配置文件启动 Nginx可以使用 -c 指定。4. 指定运行前缀路径nginx-p/path/to/prefix/设置 Nginx 的前缀路径Nginx 会基于此路径来定位配置文件、日志文件等相对路径的资源。三、信息查看命令查看 Nginx 版本nginx-v查看 Nginx 编译参数nginx-V查看帮助信息nginx-h或者nginx -?打印 Nginx 命令行的帮助信息忘了命令时可以随时查看。四、通过 Systemd 控制的命令静态文件处理配置后重载Nginx 可直接返回静态文件HTML/CSS/JS减轻后端负担。# 修改配置指定网站根目录location /{root /usr/share/nginx/html;index index.html;}操作步骤1. 修改配置后检查 nginx-t# 2. 重载配置nginx-sreload# 3. 验证静态文件访问curl-Ihttp://localhost/反向代理配置验证反向代理可隐藏后端真实 IP提高安全性。# 反向代理配置location /api/{proxy_pass http://backend_servers;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;}验证命令# 检查配置nginx-t# 重载nginx-sreload# 测试代理是否生效curl-vhttp://localhost/api/负载均衡配置调整Nginx 可将请求分摊到多台后端服务器。# 负载均衡配置upstream backend_servers{server192.168.1.10:8080;server192.168.1.11:8080;server192.168.1.12:8080;}动态调整后端服务器# 1. 编辑配置添加/移除后端服务器vim/etc/nginx/conf.d/upstream.conf# 2. 检查语法nginx-t# 3. 重载零停机更新后端列表nginx-sreloadSSL/TLS 配置启用SSL/TLS 支持可提高通信安全性。# SSL 配置server{listen443ssl;server_name example.com;ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;}启用步骤# 1. 确认 Nginx 编译了 SSL 模块nginx-V|grepssl# 2. 配置 SSL 后检查nginx-t# 3. 重载nginx-sreload# 4. 验证 HTTPScurl-vhttps://example.com/五、性能优化的命令操作Gzip 压缩验证启用 gzip 减小传输大小。# gzip 配置gzipon;gzip_types text/plain text/css application/json;gzip_min_length1024;验证 gzip 是否生效# 检查配置nginx-tnginx-sreload# 测试压缩效果curl-HAccept-Encoding: gzip-Ihttp://localhost/style.css# 应看到 Content-Encoding: gzipHTTP/2 协议配置推荐启用 HTTP/2 提升传输效率。# HTTP/2 配置server{listen443ssl http2;# ... 其他 SSL 配置}验证 HTTP/2# 确认支持 HTTP/2 模块nginx-V|grephttp_v2# 配置后检查并重载nginx-tnginx-sreload# 使用 curl 测试需支持 HTTP/2curl-I--http2https://example.com/缓存配置生效缓存可减少后端负担。# 缓存配置proxy_cache_path /var/cache/nginxlevels1:2keys_zonemy_cache:10m;location /{proxy_cache my_cache;proxy_pass http://backend;}操作命令# 1. 创建缓存目录mkdir-p/var/cache/nginxchownnginx:nginx /var/cache/nginx# 2. 检查并重载配置nginx-tnginx-sreload# 3. 监控缓存使用情况ls-lh/var/cache/nginx/文件描述符限制调整建议调整系统文件描述符限制以支持高并发。查看当前限制ulimit-n临时调整ulimit-n65535永久调整需重启# 编辑 /etc/security/limits.confecho* soft nofile 65535/etc/security/limits.confecho* hard nofile 65535/etc/security/limits.conf# 或编辑 /etc/sysctl.confechofs.file-max 2097152/etc/sysctl.confsysctl-p调整后重启 Nginx systemctl restart nginx六、总结Nginx的内容就分享到这里希望大家喜欢
火爆了!Nginx常用命令大全
公众原文-我写了一份流量主教程欢迎大家领取Nginx是一款轻量级的Web服务器、反向代理服务器和负载均衡器由俄罗斯程序员Igor Sysoev开发。Nginx的设计目标是高性能、高并发、高可靠、低资源消耗可以作为Web服务器、反向代理服务器和负载均衡器使用。在日常运维和开发中熟练掌握Nginx的常用命令非常关键。为了方便记忆我将 Nginx 常用命令分为服务控制、配置检查、信息查看以及Systemd 系统命令四大类。一、服务控制命令启动 Nginxnginx直接输入 nginx 即可启动服务器。启动后默认在后台运行。2. 停止 Nginx停止分为快速停止和优雅停止两种快速停止nginx-sstop立即断开所有连接停止服务。相当于拔电源不管当前是否有正在处理的请求。优雅停止nginx-squit优雅地停止服务。Nginx 会拒绝接收新的请求但会等当前正在处理的请求全部完成后再关闭进程。3. 重载配置文件nginx-sreload当修改了 nginx.conf 配置文件后不需要重启 Nginx使用该命令就可以让新配置生效。其原理是主进程会重新读取配置启动新的 Worker 进程并通知旧的 Worker 进程在处理完当前请求后优雅退出。4. 重新打开日志文件nginx-sreopen此命令常用于日志轮转当 Nginx 的日志文件被移动或重命名后Nginx 仍然会向旧的文件描述符写日志。使用此命令可以让 Nginx 重新打开日志文件生成新的文件描述符。二、配置检查与指定命令检查配置文件语法nginx-t在重启或重载配置之前务必使用此命令检查配置文件是否有语法错误。如果配置有误Nginx 会报错并指出具体行号防止因配置错误导致服务宕机。2. 检查并打印配置nginx-T不仅检查语法还会将最终生效的完整配置文件内容打印到终端。在排查配置包含关系时非常有用。3. 指定配置文件位置nginx-c/path/to/custom/nginx.conf默认情况下Nginx 会读取编译时指定的路径通常是 /etc/nginx/nginx.conf。如果想用一份自定义的配置文件启动 Nginx可以使用 -c 指定。4. 指定运行前缀路径nginx-p/path/to/prefix/设置 Nginx 的前缀路径Nginx 会基于此路径来定位配置文件、日志文件等相对路径的资源。三、信息查看命令查看 Nginx 版本nginx-v查看 Nginx 编译参数nginx-V查看帮助信息nginx-h或者nginx -?打印 Nginx 命令行的帮助信息忘了命令时可以随时查看。四、通过 Systemd 控制的命令静态文件处理配置后重载Nginx 可直接返回静态文件HTML/CSS/JS减轻后端负担。# 修改配置指定网站根目录location /{root /usr/share/nginx/html;index index.html;}操作步骤1. 修改配置后检查 nginx-t# 2. 重载配置nginx-sreload# 3. 验证静态文件访问curl-Ihttp://localhost/反向代理配置验证反向代理可隐藏后端真实 IP提高安全性。# 反向代理配置location /api/{proxy_pass http://backend_servers;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;}验证命令# 检查配置nginx-t# 重载nginx-sreload# 测试代理是否生效curl-vhttp://localhost/api/负载均衡配置调整Nginx 可将请求分摊到多台后端服务器。# 负载均衡配置upstream backend_servers{server192.168.1.10:8080;server192.168.1.11:8080;server192.168.1.12:8080;}动态调整后端服务器# 1. 编辑配置添加/移除后端服务器vim/etc/nginx/conf.d/upstream.conf# 2. 检查语法nginx-t# 3. 重载零停机更新后端列表nginx-sreloadSSL/TLS 配置启用SSL/TLS 支持可提高通信安全性。# SSL 配置server{listen443ssl;server_name example.com;ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;}启用步骤# 1. 确认 Nginx 编译了 SSL 模块nginx-V|grepssl# 2. 配置 SSL 后检查nginx-t# 3. 重载nginx-sreload# 4. 验证 HTTPScurl-vhttps://example.com/五、性能优化的命令操作Gzip 压缩验证启用 gzip 减小传输大小。# gzip 配置gzipon;gzip_types text/plain text/css application/json;gzip_min_length1024;验证 gzip 是否生效# 检查配置nginx-tnginx-sreload# 测试压缩效果curl-HAccept-Encoding: gzip-Ihttp://localhost/style.css# 应看到 Content-Encoding: gzipHTTP/2 协议配置推荐启用 HTTP/2 提升传输效率。# HTTP/2 配置server{listen443ssl http2;# ... 其他 SSL 配置}验证 HTTP/2# 确认支持 HTTP/2 模块nginx-V|grephttp_v2# 配置后检查并重载nginx-tnginx-sreload# 使用 curl 测试需支持 HTTP/2curl-I--http2https://example.com/缓存配置生效缓存可减少后端负担。# 缓存配置proxy_cache_path /var/cache/nginxlevels1:2keys_zonemy_cache:10m;location /{proxy_cache my_cache;proxy_pass http://backend;}操作命令# 1. 创建缓存目录mkdir-p/var/cache/nginxchownnginx:nginx /var/cache/nginx# 2. 检查并重载配置nginx-tnginx-sreload# 3. 监控缓存使用情况ls-lh/var/cache/nginx/文件描述符限制调整建议调整系统文件描述符限制以支持高并发。查看当前限制ulimit-n临时调整ulimit-n65535永久调整需重启# 编辑 /etc/security/limits.confecho* soft nofile 65535/etc/security/limits.confecho* hard nofile 65535/etc/security/limits.conf# 或编辑 /etc/sysctl.confechofs.file-max 2097152/etc/sysctl.confsysctl-p调整后重启 Nginx systemctl restart nginx六、总结Nginx的内容就分享到这里希望大家喜欢