在Linux系统中使用Nginx服务器,需要先完成安装、基础配置,再根据实际需求设置对应的服务规则,整个过程操作逻辑清晰,适合各类Web服务场景。
安装Nginx
不同Linux发行版的安装命令略有差异,以下是常见发行版的安装方式。
Ubuntu/Debian系统
首先更新软件包索引,再执行安装命令:
# 更新软件包索引 sudo apt update # 安装Nginx sudo apt install nginx -y
CentOS/RHEL系统
需要先安装EPEL仓库,再执行安装命令:
# 安装EPEL仓库 sudo yum install epel-release -y # 安装Nginx sudo yum install nginx -y
Nginx基础管理命令
安装完成后,可以通过以下命令管理Nginx服务状态:
- 启动Nginx:sudo systemctl start nginx
- 停止Nginx:sudo systemctl stop nginx
- 重启Nginx:sudo systemctl restart nginx
- 重新加载配置:sudo systemctl reload nginx
- 设置开机自启:sudo systemctl enable nginx
- 查看运行状态:sudo systemctl status nginx
基础配置说明
Nginx的核心配置文件通常位于/etc/nginx/nginx.conf,站点配置文件一般放在/etc/nginx/sites-available/目录,启用时软链接到/etc/nginx/sites-enabled/目录。以下是默认的站点配置示例:
server {
# 监听80端口
listen 80;
# 服务器域名,可替换为实际域名或IP
server_name localhost;
# 静态资源根目录
root /var/www/html;
# 默认首页文件
index index.html index.htm index.nginx-debian.html;
location / {
# 尝试匹配请求的文件、目录,都不存在则返回404
try_files $uri $uri/ =404;
}
}
配置静态资源托管
如果需要托管自定义静态资源,只需要修改root指向的目录即可。比如将静态文件放在/opt/static/目录,配置如下:
server {
listen 80;
server_name 192.168.0.1;
root /opt/static;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
修改完成后执行sudo nginx -t检查配置语法是否正确,再执行sudo systemctl reload nginx加载新配置即可。
配置反向代理
Nginx作为反向代理时,可以将请求转发到后端的其他服务,比如转发到本地8080端口的Java应用,配置示例如下:
server {
listen 80;
server_name 127.0.0.1;
location / {
# 转发请求到后端服务
proxy_pass http://127.0.0.1:8080;
# 传递客户端真实IP
proxy_set_header X-Real-IP $remote_addr;
# 传递请求域名
proxy_set_header Host $host;
# 传递请求协议
proxy_set_header X-Forwarded-Proto $scheme;
}
}
常见问题排查
如果Nginx启动失败或者访问异常,可以通过以下方式排查:
- 执行
sudo nginx -t检查配置文件语法错误 - 查看错误日志,默认路径为
/var/log/nginx/error.log - 确认端口是否被占用,比如80端口被其他服务占用会导致启动失败,可通过
sudo netstat -tulpn | grep 80查看占用情况