1. Nginx入门:从安装到基础配置
Nginx作为一款高性能的Web服务器和反向代理服务器,已经成为现代Web架构中不可或缺的组件。我第一次接触Nginx是在2013年,当时公司需要将Apache迁移到Nginx以应对突发的流量高峰。从那时起,我就被它的高性能和低资源消耗所折服。
1.1 主流环境下的安装指南
在Linux系统上安装Nginx有多种方式,我推荐使用官方仓库安装,这能确保获得最新的稳定版本。以Ubuntu为例:
bash复制# 添加Nginx官方仓库
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
# 安装Nginx
sudo apt update
sudo apt install nginx
对于Windows环境,虽然Nginx也能运行,但不建议在生产环境使用。Windows下的安装更简单,直接下载zip包解压即可,但要注意路径问题:
重要提示:Windows下的nginx.conf配置文件中,所有路径都必须使用绝对路径,例如:
root C:/websites/myapp;而不是root /websites/myapp;
1.2 核心配置文件解析
Nginx的配置文件通常位于/etc/nginx/nginx.conf,其结构主要分为几个部分:
nginx复制# 全局块:影响Nginx整体运行的配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
# events块:影响Nginx与用户的网络连接
events {
worker_connections 1024;
}
# http块:最重要的配置部分
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# server块:虚拟主机配置
server {
listen 80;
server_name example.com;
# location块:URI匹配规则
location / {
root /usr/share/nginx/html;
index index.html;
}
}
}
在实际项目中,我习惯将不同站点的配置拆分到/etc/nginx/conf.d/目录下,每个站点一个.conf文件,这样更易于管理。
1.3 常用命令与状态管理
掌握Nginx的基本操作命令是运维的基础:
bash复制# 启动Nginx
sudo systemctl start nginx
# 停止Nginx
sudo systemctl stop nginx
# 重新加载配置(不中断服务)
sudo systemctl reload nginx
# 检查配置语法
sudo nginx -t
# 强制停止(立即终止)
sudo systemctl kill -s SIGQUIT ngi
