您的位置:

CentOS 7 Nginx开机启动指南

一、配置Nginx开机自启动

1、Nginx可执行文件路径

/usr/sbin/nginx

2、Nginx配置文件路径

/etc/nginx/nginx.conf

3、创建Nginx服务控制脚本

sudo vi /etc/systemd/system/nginx.service

如下代码:

[Unit]
Description=The nginx HTTP server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

4、重新加载服务文件

sudo systemctl daemon-reload

5、设置Nginx自启动

sudo systemctl enable nginx.service

6、重启系统,验证Nginx是否自启动成功

sudo reboot

二、修改Nginx监听端口

1、打开Nginx配置文件

sudo vi /etc/nginx/nginx.conf

2、修改监听端口号

http {
    ...
    server {
        listen 80;
        ...
    }
    ...
}

3、保存并退出

4、重新加载Nginx服务

sudo systemctl reload nginx.service

5、验证端口是否已修改

netstat -tlnp | grep nginx

三、设置Nginx虚拟主机

1、在Nginx配置文件中创建新的虚拟主机

sudo vi /etc/nginx/nginx.conf

2、添加以下代码

http {
    ...
    server {
        listen 80;
        server_name example.com;
        location / {
            root /var/www/example.com;
            index index.html;
        }
    }
    ...
}

3、创建虚拟主机路径

sudo mkdir /var/www/example.com

4、将网站内容放入虚拟主机路径

5、重启Nginx服务

sudo systemctl restart nginx.service

6、在本地Hosts中添加域名

sudo vi /etc/hosts

添加以下内容

127.0.0.1   example.com

7、使用浏览器访问新建的虚拟主机

四、Nginx HTTPS配置

1、生成SSL证书和私钥

sudo openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr

2、输入证书信息,并按照提示输入密码和证书相关信息

3、生成自签名SSL证书

sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt

4、将证书和私钥放入对应路径

sudo mkdir /etc/nginx/ssl
sudo mv example.com.key /etc/nginx/ssl/
sudo mv example.com.crt /etc/nginx/ssl/

5、创建新的虚拟主机

sudo vi /etc/nginx/conf.d/https.conf

添加以下代码

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    location / {
      root /var/www/example.com;
      index index.html;
    }
}

6、重启Nginx服务

sudo systemctl restart nginx.service

7、在本地Hosts中添加域名

sudo vi /etc/hosts

添加以下内容

127.0.0.1   example.com

8、使用浏览器访问已启用HTTPS的虚拟主机