CentOS7 安装Nginx 并配置 SSL

本文介绍如何在CentOS上安装Nginx并配置HTTPS服务。内容涵盖安装必要的依赖库如gcc、PCRE、zlib及OpenSSL,下载与编译Nginx源码,配置SSL证书以及启动Nginx服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://blog.csdn.net/u014681799/article/details/109166354

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

官网下载Nginx

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

2.使用wget命令下载(推荐)。确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。

wget https://nginx.org/download/nginx-1.18.0.tar.gz

3.解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

4.配置
其实在 nginx-1.12.0 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre

注:如果不安装SSL证书进行HTTPS加密,只需 ./configure 就够了。若是需要配置SSL证书必须加上 --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre

5.编译安装
make
make install

6.复制证书文件至/usr/local/nginx/conf下

1_cloud.tencent.com_bundle.crt 证书文件
2_cloud.tencent.com.key 私钥文件

7.修改nginx.conf

vim /usr/local/conf/nginx.conf

server {
     #SSL 访问端口号为 443
     listen 443 ssl; 
     #填写绑定证书的域名
     server_name cloud.tencent.com; 
     #证书文件名称
     ssl_certificate 1_cloud.tencent.com_bundle.crt; 
     #私钥文件名称
     ssl_certificate_key 2_cloud.tencent.com.key; 
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
     location / {
         root html; 
         index  index.html index.htm;
     }
 }

9.测试配置是否生效
cd /usr/local/nginx/sbin
./nginx -t

8.启动nginx
cd /usr/local/nginx/sbin
./nginx

下面是我曾经一个项目的配置

将证书文件名称ssl_certificate和私钥文件名称ssl_certificate_key放到/etc/ssl的目录里面

    upstream tomcatserver {
        server localhost:8080;
    }
    
    # HTTPS server
    #
    server {

        #监听 80 和 443端口
        listen   80;
        listen       443 ssl;
        #填写域名
        server_name  ****.com;
        #证书文件名称
        ssl_certificate      /etc/ssl/1_gblzkrq.work_bundle.crt;
        #私钥文件名称
        ssl_certificate_key  /etc/ssl/2_gblzkrq.work.key;

    #    ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers  on;

        #开启强制跳转https
        if ($server_port = 80){
                 rewrite ^(/.*)$ https://$host$1 permanent;
        }

        location / {
            root   html;
            proxy_pass http://tomcatserver;
            index  index.html index.htm;
        }
    }

 

参考链接:

https://www.cnblogs.com/liujuncm5/p/6713784.html
https://cloud.tencent.com/document/product/400/35244

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值