centos 部署nginx 并配置https

centos版本:centos 7.8 (最好不要用8,8的很多用法和7相差很大)

一.安装nginx

1。下载Nginx安装包:首先,访问Nginx的官方网站(https://nginx.org/)或您选择的镜像站点,找到适用于您的系统的Nginx安装包的下载链接。在终端中使用`wget`或`curl`来下载安装包。以下是一个示例:

nginx 官网:https://nginx.org/en/download.html

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

请注意,上述链接中的版本号(1.24.0)可能会更改。请访问Nginx官方网站以获取最新版本的下载链接。

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

powershell 复制代码
tar -zxvf nginx-1.24.0.tar.gz

3.安装依赖项:在编译和安装Nginx之前,确保您的系统上已安装了必要的编译工具和依赖项。可以使用以下命令安装一些常见的依赖项:

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

4.配置和编译Nginx:进入解压后的Nginx目录,并运行以下命令来配置和编译Nginx:
在这里插入代码片# 这里的版本号应该与您下载的版本号匹配

powershell 复制代码
cd nginx-1.24.0 
  ./configure
  make

5.安装Nginx:编译完成后,运行以下命令来安装Nginx:

powershell 复制代码
sudo make install
  1. Nginx将被安装到默认位置,通常为/usr/local/nginx/。
    启动Nginx:使用以下命令启动Nginx:
powershell 复制代码
  /usr/local/nginx/sbin/nginx

您可以使用/usr/local/nginx/sbin/nginx -s stop来停止Nginx

/usr/local/nginx/sbin/nginx -s reload来重新加载配置。

验证安装:验证Nginx是否成功安装,您可以通过访问服务器的公共IP地址或域名来检查Nginx的欢迎页面。

二.使用https

1.如果想使用https,还需要安装http_ssl_module模块

powershell 复制代码
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  make

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

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

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

原有解压位置的不生效了

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

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

2.申请证书

这样就安装好了ssl模块

证书可以去阿里云下载,申请个域名,每个用户每年可以有20个免费证书

上传到nginx目录下

新建 mkdir cert

上传证书 rz

在配置文件最后一行新增

include /usr/local/nginx/conf/conf.d/*.conf;

新建conf.d

powershell 复制代码
mkdir conf.d

在conf.d下新建配置文件

powershell 复制代码
 server {
       listen       443 ssl;
       server_name  localhost;

       ssl_certificate      /usr/local/nginx/cert/ck.chenkangck.top.pem;
       ssl_certificate_key  /usr/local/nginx/cert/ck.chenkangck.top.key;

       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;

       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

       location / {
            root   html;
            index  index.html index.htm;
        }
    }
powershell 复制代码
./nginx -s reload

在浏览器访问https

相关推荐
李子琪。25 分钟前
云计算虚拟化技术全解析:从理论到实践
linux·centos·云计算
EntyIU1 小时前
CentOS-高可用部署手册-MySQL双主RedisNginx
linux·mysql·centos
芷栀夏2 小时前
飞牛NAS怎么部署Immich?家庭照片自动备份与远程访问教程
服务器·nginx·ansible
༺๑Tobias๑༻1 天前
CentOs 使用 Gitea 搭建轻量级 Git 服务
git·centos·gitea
墨香幽梦客1 天前
数据安全三板斧:Https/SSL加密+PCI-DSS合规+HIPAA医疗数据防护
网络协议·https·ssl
牛奶4 天前
HTTPS你不知道的事
前端·https·浏览器
難釋懷5 天前
Nginx-rsync客户端免密
运维·nginx
AlfredZhao7 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
Avan_菜菜12 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
ping某16 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx