Centos7配置nginx

注:nginx的主配置文件在/etc/nginx/nginx.conf
用户配置文件一般保存在/etc/nginx/conf.d/

一、安装最新版nginx

1.卸载旧版nginx

sudo yum remove nginx -y

2.添加nginx官方仓库

sudo vim /etc/yum.repos.d/nginx.repo

写入以下内容(这是官方源配置)

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

3.安装nginx

稳定版:

sudo yum install nginx -y

最新版(可能不稳定)

sudo yum --enablerepo=nginx-mainline install nginx -y

4.启动与开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

5.检查运行状态与版本

sudo systemctl status nginx
nginx -v

(绿了就表示正常)

6.防火墙放行

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

二、配置nginx反向代理

(适用于以systemctl管理的nginx,即通过以上方法下载的)

准备工作

  • 一个子域名,链接到目标服务器(例:primordialblog.publicnote.top)
  • 可以顺利运行的nginx

1.新建配置文件

cd /etc/nginx/conf.d

# 创建子域名的文件夹
sudo mkdir primordialblog.publicnote.top

# 进到文件夹中
cd primordialblog.publicnote.top

# 创建配置文件
sudo vim reverse_proxy.conf

写入以下配置

server {
    listen 80;  # 公网访问端口,可以改成 8080 或其他
    server_name your_domain.com;  # ← 这里改成你的公网 IP 或域名

    location / {
        proxy_pass http://127.0.0.1:9003;  # ← 这里改成本机服务端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2.导入配置文件

# 返回到nginx根目录
cd /etc/nginx
# 导入刚刚创建的配置文件
sudo vim nginx.conf

在最后include /etc/nginx/conf.d/*.conf;下添加以下内容

# 导入所有二级配置文件
include /etc/nginx/conf.d/**/*.conf;

3.检查语法正确性

# 检查语法正确性
sudo nginx -t

若出现以下内容则说明语法正确无误

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

4.重新加载配置

sudo systemctl reload nginx
sudo systemctl restart nginx

5.确认配置文件已生效

sudo nginx -T | grep reverse_proxy.conf

如果能看到

# configuration file /etc/nginx/conf.d/primordialblog.publicnote.top/reverse_proxy.conf

说明加载成功

6.测试访问

试着访问你的页面,来验证配置是否成功

http://primordialblog.publicnote.top/

三、申请ssl证书(Https)

注:在此步骤之前,你应该先申请一个A类型的DNS记录(即通过http协议能访问到你的网站)

1.创建文件夹

cd 到etc/nginx/conf.d下,创建一个与你域名同名的文件夹,如:

sudo mkdir publicnote.top

2.给域名申请ssl证书

httpsok官网
证书管理>证书申请>填入你的域名

3.将记录填入域名解析

复制在httpsok网站拿到的记录值(最后一个)和主机记录(第二个),并填入相关服务商的域名解析处(httpsok网站有相关帮助)

阿里云相关帮助

4.点击验证

5.在httpsok网站证书管理页面点击右侧的下载按钮下载nginx相关的两个证书(zip)

将这个压缩包移至你创建的域名文件夹(/etc/nginx/conf.d/publicnote.top/)下,并解压

解压之后可选删除文件

sudo rm xxx.zip

6.cd回退到nginx的根目录

cd /etc/nginx

7.回到httpsok官网,选择自动部署。

点击上方的Nginx复制自动部署命令
在第二个自动部署命令前加上sudo(若不是root)

curl -s https://get.httpsok.com/ | bash -s 4hYxxxxx

修改后

curl -s https://get.httpsok.com/ | sudo bash -s 4hYxxxxx

复制到终端执行。

8.手动修改子配置文件

(即在第二阶段中创建的子配置文件)

server {
    listen 80;
    server_name primordialblog.publicnote.top;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name primordialblog.publicnote.top;

    # 这里换成你自己的.pem和.key的路径
    ssl_certificate /etc/nginx/conf.d/primordialblog.publicnote.top/primordialblog.publicnote.top.pem;
    ssl_certificate_key /etc/nginx/conf.d/primordialblog.publicnote.top/primordialblog.publicnote.top.key;

    # 最简化的 SSL 配置
    ssl_protocols TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:9004;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

四、常用命令

1.重新加载配置(nginx角度下)

sudo nginx -t   # 测试配置是否正确
sudo nginx -s reload

2.重新加载配置(systemctl角度下)

sudo nginx -t   # 测试配置是否正确
sudo systemctl reload nginx
posted @ 2026-07-03 06:26  畅畅c  阅读(2)  评论(0)    收藏  举报