如何在Linux上安装和配置Nginx服务器

来源:Java编程网作者:卡拉米头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何在Linux上安装和配置Nginx服务器》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上安装和配置Nginx服务器》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中部署Nginx服务器是搭建Web服务、实现反向代理的基础操作,不同发行版的安装方式略有差异,但核心配置逻辑一致,下面分步骤讲解完整流程。

如何在Linux上安装和配置Nginx服务器

一、不同Linux发行版的Nginx安装方法

1. Ubuntu/Debian系统安装

Ubuntu和Debian系统可以直接使用apt包管理器安装官方源中的Nginx版本,步骤如下:

# 更新软件包索引
sudo apt update
# 安装Nginx
sudo apt install nginx -y
# 验证安装是否成功
nginx -v

2. CentOS/RHEL系统安装

CentOS系统默认源中没有最新版Nginx,需要先添加Nginx官方源再安装:

# 添加Nginx官方yum源
sudo tee /etc/yum.repos.d/nginx.repo <<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
# 安装Nginx
sudo yum install nginx -y
# 验证安装
nginx -v

二、Nginx基础配置说明

安装完成后,Nginx的默认配置文件路径如下:

  • 主配置文件:/etc/nginx/nginx.conf
  • 站点配置目录:/etc/nginx/conf.d/,用户自定义站点配置通常放在这个目录下
  • 默认站点根目录:/usr/share/nginx/html/,默认首页文件为index.html
  • 日志目录:/var/log/nginx/,包含访问日志access.log和错误日志error.log

主配置文件的核心结构如下:

# 全局配置块
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

# events配置块
events {
    worker_connections 1024;
}

# http配置块
http {
    include /etc/nginx/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 /var/log/nginx/access.log main;
    sendfile on;
    # tcp_nopush on;
    keepalive_timeout 65;
    # gzip压缩配置
    # gzip on;
    # 引入站点配置
    include /etc/nginx/conf.d/*.conf;
}

三、自定义静态站点配置

我们可以新建一个站点配置文件,部署自定义静态站点,步骤如下:

1. 创建站点目录和测试文件

# 创建站点根目录
sudo mkdir -p /var/www/my_site
# 创建测试首页
sudo tee /var/www/my_site/index.html <<EOF
<!DOCTYPE html>
<html>
<head>
    <title>我的Nginx站点</title>
</head>
<body>
    <h1>Nginx静态站点部署成功</h1>
</body>
</html>
EOF

2. 新建站点配置文件

/etc/nginx/conf.d/目录下新建my_site.conf

server {
    # 监听80端口
    listen 80;
    # 站点域名,没有域名可以填服务器IP
    server_name 192.168.0.1;
    # 站点根目录
    root /var/www/my_site;
    # 默认首页文件
    index index.html index.htm;
    # 访问日志配置
    access_log /var/log/nginx/my_site_access.log;
    error_log /var/log/nginx/my_site_error.log;
}

3. 验证配置并重启服务

# 验证Nginx配置文件语法是否正确
sudo nginx -t
# 重启Nginx服务
sudo systemctl restart nginx
# 设置开机自启
sudo systemctl enable nginx

此时访问服务器IP或者配置的域名,就可以看到自定义的静态站点页面。

四、配置反向代理

Nginx常用的反向代理功能可以将请求转发到后端服务,比如转发到本地运行的8080端口的Java应用,配置示例如下:

server {
    listen 80;
    server_name 192.168.0.1;
    location / {
        # 转发到后端服务地址
        proxy_pass http://127.0.0.1:8080;
        # 传递客户端真实IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}

配置完成后同样执行sudo nginx -t验证配置,再重启Nginx服务即可生效。

五、常见问题排查

  • 访问站点返回403错误:检查站点目录和文件的权限,确保nginx用户有读取权限,可以执行sudo chown -R nginx:nginx /var/www/my_site修改权限
  • 配置修改后不生效:确认执行了sudo nginx -t验证配置,并且重启了Nginx服务
  • 端口被占用无法启动:使用sudo netstat -tulnp | grep 80查看占用80端口的进程,停止对应进程或者修改Nginx监听端口

NginxLinux服务器配置反向代理修改时间:2026-07-11 18:27:26

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。