centos 安装nginx并配置证书

1.寻找适用自己的nginx

官网下载地址:nginx: download.

这里我采用的是 nginx-1.22.1 注意下载使用的系统(/windows)是win系统,注意自己的搭建系统

2.上传到系统

linux默认自己的软件安装位置是在 /usr/local/ 下所以我们直接将下载好的文件上传到该目录
作者使用的软件是MobaXterm感兴趣的同学自己了解下
上传并解压后目录结构就是这个样子
解压语句 tar -zxvf 你的文件名称
上传并解压后目录结构就是这个样子

3.安装nginx

3.1进行安装

在目录usr/local/nginx-1.22.1下执行命令,注意请根据自己的文件目录及文件名称调整
cd /usr/local/nginx-1.22.1
./configure
在这里插入图片描述
执行后当前目录下 执行 make
报错
make: *** No rule to make target build, needed by default. Stop.
不要慌这是因为没有 openssl 以及 ncurses 组件导致的逐个进行安装即可

yum install -y openssl
yum -y install ncurses-devel

安装完成后需要重新执行 ./configure
这时再运行make就不会报错了

执行 make install 进行安装

执行后会在安装文件同目录下存在安装后的文件
安装后的文件

3.2启动

nginx常见命令

./nginx             #启动命令
./nginx -s stop		#停止nginx
./nginx	-s quit		#安全退出
./nginx -s reload	#修改了文件之后重新加载该程序文件

输入命令 cd /usr/local/nginx/sbin/ 可以看到这个文件
在这里插入图片描述
启动nginx命令 ./nginx
nginx需要使用80端口,注意自己的服务器防火墙及安全规则组的开放
如果没改动配置文件在浏览器内输入IP就可以看到如下界面,恭喜你 nginx已经启动成功并可以访问了
在这里插入图片描述

3.3配置证书

现在你需要一个域名,还有申领一个证书
我使用的是腾讯云的产品
在这里插入图片描述
这里不讲域名及证书相关的东西,相关问题自行百度

进入服务器创建如下目录 /root/card/ 将证书文件上传至该目录
在这里插入图片描述
进入 cd /usr/local/nginx/sbin/ 目录下输入 nginx -V 查看是否安装 –with-http_ssl_module
此时需要停掉启动的nginx
如果没有则需要安装
回到安装文件下 cd /usr/local/nginx-1.22.1/ 输入命令
./configure --prefix=/usr/local/nginx (替换成你安装后的文件地址) --with-http_stub_status_module --with-http_ssl_module
执行后输入 make 此时你的安装目录下会多一个objs文件夹将里面的nginx文件替换到 /usr/local/nginx/sbin/
回到 /usr/local/nginx/sbin/ 输入 ./nginx -V 此时会看到 –with-http_ssl_module

在这里插入图片描述
完成后就可以进行nginx的配置文件修改了
进入 cd /usr/local/nginx/conf/ 目录下打开 nginx.conf 文件
进行如下配置 初始化的配置文件内注释了许多暂时用不到的配置,可以进行删除需注意删除时看到大括号的范围

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       443 ssl;
        server_name  你的域名;
        #刚才上传的证书文件
        ssl_certificate  /root/card/***.pem; 
        ssl_certificate_key /root/card/***key;
        
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen 80;
        server_name 你的域名;
        #将请求转成https
        rewrite ^(.*)$ https://$host$1 permanent;
    }
}

在这里插入图片描述
https需要443端口注意自己的服务器防火墙及安全规则组的开放

配置完后执行更新配置文件语句,执行后就可以启动了
启动成功后就可以通过域名访问啦

3.4配置nginx开机自启

/usr/lib/systemd/system/ 目录下创建文件 nginx.service
填写下面内容 /usr/local/nginx/ 是我的安装位置你需要换成自己的
注意如果你时将文件复制出来修改的需要将文件编码改为unix(LF)

[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载系统服务
systemctl daemon-reload
在这里插入图片描述
大概这样的提示后就设置好了

设置开机启动
systemctl enable nginx.service
设置完毕可以重启服务器进行验证啦

常用语句

systemctl is-enabled nginx.service   #查询服务是否开机启动
systemctl enable nginx.service       #开机运行服务
systemctl disable nginx.service      #取消开机运行
systemctl start nginx.service 		 #启动服务
systemctl stop nginx.service         #停止服务
systemctl restart nginx.service      #重启服务
systemctl reload nginx.service       #重新加载服务配置文件
systemctl status nginx.service       #查询服务运行状态
systemctl --failed                   #显示启动失败的服务 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值