centos 安装nginx 并配置https ssl

进入你要安装的目录 一般是/usr/local/

复制代码
	wget https://nginx.org/download/nginx-1.24.0.tar.gz

解压安装包:使用以下命令解压下载的Nginx安装包:

复制代码
tar -zxvf nginx-1.24.0.tar.gz
  • 在编译和安装Nginx之前,确保您的系统上已安装了必要的编译工具和依赖项。可以使用以下命令安装一些常见的依赖项:

    复制代码
     sudo yum install gcc make openssl-devel pcre-devel zlib-devel

进入解压后的目录 也是就是nginx-1.24.0目录中执行命令

复制代码
cd nginx-1.24.0 
  ./configure
  make
  • 安装Nginx:编译完成后,运行以下命令来安装Nginx:

    sudo make install

启动动Nginx:使用以下命令启动Ngin

复制代码
  /usr/local/nginx/sbin/nginx

您可以使用/usr/local/nginx/sbin/nginx -s stop来停止Nginx
/usr/local/nginx/sbin/nginx -s reload来重新加载配置。
验证安装:验证Nginx是否成功安装,您可以通过访问服务器的公共IP地址或域名来检查Nginx的欢迎页面

使用https ssl证书

先去腾讯或者阿里申请免费证书或者购买一个b并下载Nginx文件

复制代码
先去解压的目录执行命令 ,也就是nginx-1.24.0  这个目录 不然会提示没有configure 
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  make

在替换原有的nginx,需要先停掉原来的nginx程序,或者直接ps -elf | grep nginx查到相关程序,直接kill -9掉。

复制代码
  cp ./objs/nginx /usr/local/nginx/sbin/

进入nginx下面,所有生效的nginx配置在这里

里要注意,做完操作后,nginx本来的安装位置的你写的配置文件会到usr/local/nginx下面,你原先解压的nginx会失效

原有解压位置的不生效

而且在usr/local下也会生成一部分文件,不用管

  • 下载申请好的证书文件

  • 把 key 和crt的文件放到Nginx 根目录,也可以直接放到nginx/conf 目录下

  • 在当前目录打开nginx配置文件

    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 / {
    #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
    #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
    root html;
    index index.html index.htm;
    }
    }

执行命令验证配置文件

复制代码
nginx -t

通过命令重载

复制代码
nginx -s reload

HTTP 自动跳转 HTTPS 的安全配置(可选

复制代码
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;
 #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 #请按照以下协议配置
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_prefer_server_ciphers on;
 location / {
   #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 
   #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
   root html;
   index index.html index.htm;
 }
}
server {
 listen 80;
 #请填写绑定证书的域名
 server_name cloud.tencent.com; 
 #把http的域名请求转成https
 return 301 https://$host$request_uri; 
}

再以此执行命令
nginx -t
nginx -s reload
如果浏览器地址栏显示安全锁标识,则说明证书安装成功。如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a8001509305c435ebf8c88a0ab40f22e.png)

vue react单页面应用刷新后 显示404

复制代码
添加这个
location / { 
		try_files $uri /index.html;
 	}
 	完整配置如下 执行后记得 ./nginx -t和./nginx -s reload 就可以了

  server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名
     server_name lingyaoba.com; 
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate lingyaoba.com_bundle.crt; 
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key lingyaoba.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 / {
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
         root html; 
       #  index  admin/index.html admin/index.htm;
       #index index.html index.htm;
     #}
      location / { 
		try_files $uri /index.html;
 	}

    }
相关推荐
ZeroNews内网穿透6 小时前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews
szephyr1 天前
HTTPS 证书申请与自动续期:acme.sh + Let‘s Encrypt 完整记录
nginx·https·acme.sh·证书续期
Lsetea1 天前
部署证书后提示“证书名称与输入不匹配”:Safari 报错的三层排查
nginx·https·safari·ssl证书·openssl
daemon.qiang2 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
打工仔折腾 AI2 天前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
Linux运维技术栈2 天前
如何避免绕过CDN的攻击?基于 CDN 回源请求头鉴权的防御实操与安全性剖析
nginx·安全·cdn
其实防守也摸鱼2 天前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
Lsetea2 天前
OpenSSL快速生成域名证书:含SAN的自签命令、验证与排错
nginx·https·ssl证书·openssl·自签证书
lqg_zone2 天前
CentOS 7 虚拟机磁盘 I/O 卡顿排查实录:从 iostat 异常到虚拟盘后端故障的完整定位
linux·服务器·mysql·centos
2501_916008892 天前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp