前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7下安装配置Nginx

CentOS 7下安装配置Nginx

作者头像
雪梦科技
发布2020-05-11 17:28:08
29.2K2
发布2020-05-11 17:28:08
举报
文章被收录于专栏:ITCoderITCoder

本文基于 CentOS 7 下安装配置 Nginx 操作实践记录整理。

一、配置 EPEL 源

代码语言:javascript
复制
sudo yum install -y epel-release
sudo yum -y update

二、安装 Nginx

代码语言:javascript
复制
sudo yum install -y nginx

安装成功后,默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

三、开启端口 80 和 443

如果你的服务器打开了防火墙,你需要运行下面的命令,打开 80 和 443 端口。

代码语言:javascript
复制
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

如果你的服务器是阿里云 ECS,你还可以通过控制台安全组,打开 80 和 443 端口,或者其他自定义端口。

具体操作路径: 阿里云 ECS 服务器 -》 安全组 -》 配置规则 -》 安全组规则 -》 入方向 -》 添加安全组规则

端口范围: 比如你要打开 80 端口,这里就填写 80/80

优先级: 优先级可选范围为 1-100,默认值为 1,即最高优先级。

示例图如下:

四、操作 Nginx

1.启动 Nginx

代码语言:javascript
复制
systemctl start nginx

2.停止 Nginx

代码语言:javascript
复制
systemctl stop nginx

3.重启 Nginx

代码语言:javascript
复制
systemctl restart nginx

4.查看 Nginx 状态

代码语言:javascript
复制
systemctl status nginx

5.启用开机启动 Nginx

代码语言:javascript
复制
systemctl enable nginx

6.禁用开机启动 Nginx

代码语言:javascript
复制
systemctl disable nginx

五、配置 Nginx

1. 安装 Https 免费证书(以阿里云域名为例)

一键安装 acme.sh
代码语言:javascript
复制
curl  https://get.acme.sh | sh
echo 'alias acme.sh=~/.acme.sh/acme.sh' >> ~/.bashrc
source ~/.bashrc
生成 Https 证书
代码语言:javascript
复制
export Ali_Key="**********"
export Ali_Secret="**********"
acme.sh --issue --dns dns_ali -d domain

其中:

点击阿里云后台,右上角用户头像,菜单中选择 accesskeys。

查看 AccessKey ID 和 Access Key Secret,即对应上面的 Ali_Key 和 Ali_Secret。

domain 对应该账户下购买的阿里云域名。

拷贝证书到 nginx
代码语言:javascript
复制
mkdir -p /etc/nginx/ssl

acme.sh --install-cert -d domain \
--key-file       /etc/nginx/ssl/domain.key  \
--fullchain-file /etc/nginx/ssl/domain.crt \
--reloadcmd     "service nginx force-reload"

https 证书拷贝成功。

目前 https 证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

2. 配置 nginx

删除/etc/nginx/nginx.conf中的 server 部分代码。

代码语言:javascript
复制
server {
...
}

/etc/nginx/conf.d 创建自定义配置文件default.conf

代码语言:javascript
复制
server {
    listen 80;
    listen 443 ssl;
    server_name  domain www.domain;
    location / {
         root /usr/share/nginx/html;
         index  index.html index.htm;
     }

    ssl on;
    ssl_certificate /etc/nginx/ssl/domain.crt;
    ssl_certificate_key /etc/nginx/ssl/domain.key;
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
    ssl_prefer_server_ciphers  on;

    error_page 497  https://$host$uri?$args;
}

其中: root /usr/share/nginx/html; 表示网站文件目录,后面的分号不可省略。

ssl_certificate 和 ssl_certificate_key 指向 https 证书。

error_page 497 https://hosturi?

六、参考文档

  1. How To Install Nginx on CentOS 7
  2. How To Install And Configure NGINX On CentOS 7
  3. How to install Nginx on CentOS 7 or RHEL 7
  4. How To Install Nginx on CentOS 7
  5. How to Install Nginx on CentOS 7
  6. acme.sh
  7. nginx 使用 acme.sh 配置支持 HTTPS 访问
  8. nginx 配置 ssl 实现 https 访问 小白文
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、配置 EPEL 源
  • 二、安装 Nginx
  • 三、开启端口 80 和 443
  • 四、操作 Nginx
    • 1.启动 Nginx
      • 2.停止 Nginx
        • 3.重启 Nginx
          • 4.查看 Nginx 状态
            • 5.启用开机启动 Nginx
              • 6.禁用开机启动 Nginx
              • 五、配置 Nginx
                • 1. 安装 Https 免费证书(以阿里云域名为例)
                  • 一键安装 acme.sh
                  • 生成 Https 证书
                  • 拷贝证书到 nginx
                • 2. 配置 nginx
                • 六、参考文档
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档