静态资源部署及SSL部署

144 阅读2分钟

Nginx 安装

下载安装包

前往Nginx 官网:nginx.org/en/download…,或者使用wget 命令下载安装包

#下载nginx安装包
wget -c http://nginx.org/download/nginx-1.25.5.tar.gz

解压

#解压安装包
tar -zxvf nginx-1.25.5.tar.gz

解压完毕之后进入安装包目录

#进入nginx目录
cd /usr/local/nginx-1.25.5

执行配置脚本

#执行配置脚本 --prefix是指定安装目录
./configure --prefix=/usr/local/nginx

#或者同时新增SSL模块进行配置:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

编译安装

#对nginx编译和安装
make & make install

Nginx启动

进入安装目录下启动

#进入安装目录
cd /usr/local/nginx

#启动Nginx
#启动脚本位置
# /usr/local/nginx/sbin/nginx
#启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#停止
/usr/local/nginx/sbin/nginx -s stop
#重载
/usr/local/nginx/sbin/nginx -s reload
#杀掉nginx
/usr/local/nginx/sbin/nginx -s quit

注意:若遇到使用绝对路径执行启动命令,提示80端口被占用的情况,可以尝试使用相对路径进行启动,具体原因未知

#举例 在 /usr/local/nginx/conf 目录下启动
../sbin/niginx

查询nginx是否启动

ps -ef | grep nginx

通过http://ip:port(端口默认为80)即可访问

设置nginx 的开机启动

vim /etc/rc.local
#文本底部追加
/usr/local/nginx/sbin/nginx

SSL证书部署

SSL证书申请

使用腾讯云申请免费SSL证书,下载适用于Nginx服务的压缩包,将其中的.pem.key结尾的文件放在服务器中

  • .pem:证书文件
  • .key:证书的密钥文件

Nginx 配置文件

修改 Nginx 配置文件,文件目录/usr/local/nginx/conf/nginx.conf

  1. 修改工作用户为root,保证启动用户和工作用户一致(否则访问会报错 403)

    user  root;
    
  2. 开启 443 端口的监听,修改字段ssl_certificatessl_certificate_key对应目录

    # HTTPS server
        server {
            listen       443 ssl;
            server_name  域名;
            
            ssl_certificate     /usr/local/nginx/conf/xxx.pem;
            ssl_certificate_key  /usr/local/nginx/conf/xxx.key;
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
    	ssl_protocols TLSv1.2 TLSv1.3; 
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
            ssl_prefer_server_ciphers on;
    
            location / {
                root   /root/project/blog/public;
                index  index.html index.htm;
            }
        }
    
  3. 指定静态资源文件目录/root/project/blog/public,目录指定文件夹权限修改为777,具体权限自行查阅

访问

使用https://域名,即可访问

参考文章

解决报错 Nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf