Linux 上安装 Nginx 和配置 Https

2022-03-23  本文已影响0人  我是晓梦啊

1.首先去下载安装包。

http://nginx.org/en/download.html

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

1.1安装依赖

#gcc安装
yum -y install gcc-c++
#pcre安装
yum  -y install  pcre pcre-devel
#zlib安装
yum -y install zlib zlib-devel
#OpenSSL安装(Https必备)
yum -y install openssl openssl-devel

2.源代码编译

#解压tar包
tar -zxvf nginx-1.18.0.tar.gz
#进入目录
cd nginx-1.18.0
#配置安装路径等其他配置,默认安装目录是/usr/local/nginx
./configure
#这里也可安装ssl
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make 
make install
#查看版本
nginx -v

./nginx -s stop #停止nginx服务

#替换之前的nginx,我的nginx安装包地址是/root/下面
cp /root/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin
#注意这里是大写的V,小写的只显示版本号
./nginx -V  
#可以看到这里出现了configure arguments: --with-http_ssl_module   证明已经安装成功

3.配置ssl,在默认安装的目录下 /usr/local/nginx/conf/nginx.conf

一定要切记在哪里买的SSL证书就去那个平台看他们的教程,不同的平台配置有差异。这里是腾讯云

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    
    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;


    #gzip  on;
  
    # HTTPS server
    server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name cloud.tencent.com; 
        #证书文件名称
        ssl_certificate cloud.tencent.com_bundle.crt; 
        #私钥文件名称
        ssl_certificate_key cloud.tencent.com.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location / {
           #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
           #例如,您的网站运行目录在/etc/www下,则填写/etc/www。
            root html; 
            index  index.html index.htm;
        }
    }

}

启动

#命令都要在 /usr/locla/nginx/sbin 下执行
#重启
./nginx -s reload
#停止
./nginx -s stop
#启动
./nginx 

说一下踩过的坑,免费的SSL证书是不支持子域名(二级域名)的,需要用的子域名,也是要重新申请一个子域名的SSL证书的。

上一篇下一篇

猜你喜欢

热点阅读