情况
以前一直是yum安装,但是如果要配置SSL就是麻烦的事,所以如果是yum先安装了,那就直接卸载删除后重装更快。
nginx卸载
在安装之前先查看nginx
正在运行的进程
ps -ef |grep nginx
结束方法一: 杀死 nginx进程
kill -9 7875 7876 7877 7879
//后面的四位数是nginx进程的pid
方法二:强制结束
pkill -9 nginx
全局查找与nginx相关的文件
find / -name nginx*
依次删除列出的所有文件
#rm -rf file //file 为上面命令列出的文件路径/文件
一、安装准备
首先进入
/usr/local目录
cd /usr/local
从官网下载最新版的nginx
wget http://nginx.org/download/nginx-1.17.3.tar.gz
解压nginx压缩包
tar -zxvf nginx-1.17.3.tar.gz
会产生一个nginx-1.17.3 目录,这时进入nginx-1.17.3目录
cd nginx-1.17.3
接下来安装,使用–prefix参数指定nginx安装的目录,
并且 安装 http_ssl_module with-http_stub_status_module 模块make、make install安装 // 默认安装在/usr/local/nginx
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
如果没有报错,顺利完成后,最好看一下nginx的安装目录# whereis nginx安装完毕后,进入nginx/sbin
./nginx -t
//查看nginx.conf 配置文件是否正确
./nginx -V
//查看已经安装好的模块
二 配置SSL
腾讯云的SSL证书下载包中,有一个单独的Nginx文件夹,里面有两个文件都是我们需要的,
一个1_xxxxxx.crt ,另一个2_xxxxx.key
我们需要把这两个文件放到我们的服务器中,
如果是linux系统,推荐放到/etc/ssl/目录下,这样如果nginx卸载不会有影响
然后我们需要去找到nginx的配置文件。
关于这个配置文件的路径查找,推荐大家启动nginx后使用
ps -ef | grep nginx
的命令去查找,这样可以很简单的找到真正会生效的那个配置文件。
首先,我们需要启动nginx
service nginx start
然后再去查找正在运行中的nginx服务
ps -ef | grep nginx
得到的结果可能是这样的:
[root@host ssl]# ps -ef | grep nginx
root 1007 1 0 May20 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 2712 1007 0 02:17 ? 00:00:00 nginx: worker process
root 2768 2658 0 04:32 pts/1 00:00:00 grep --color=auto nginx
那么我们nginx配置文件的地址就应该是
/etc/nginx/nginx.conf
使用vim打开配置文件
vim /etc/nginx/nginx.conf
我们需要在
http{
}
中去添加一个server节点,如下所示
http{
#http节点中可以添加多个server节点
server{
#监听443端口
listen 443;
#对应的域名,把baofeidyz.com改成你们自己的域名就可以了
server_name baofeidyz.com;
ssl on;
#从腾讯云获取到的第一个文件的全路径
ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
#从腾讯云获取到的第二个文件的全路径
ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
location / {
#文件夹
root /usr/local/service/ROOT;
#主页文件
index index.html;
}
}
}
到这里还不行,因为如果用户使用的是http协议进行访问,那么默认打开的端口是80端口,所以我们需要做一个重定向,我们在上一个代码块的基础上增加一个server节点提供重定向服务。
http{
#http节点中可以添加多个server节点
server{
#监听443端口
listen 443;
#对应的域名,把baofeidyz.com改成你们自己的域名就可以了
server_name baofeidyz.com;
ssl on;
#从腾讯云获取到的第一个文件的全路径
ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
#从腾讯云获取到的第二个文件的全路径
ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
location / {
#文件夹
root /usr/local/service/ROOT;
#主页文件
index index.html;
}
}
server{
listen 80;
server_name baofeidyz.com;
rewrite ^/(.*)$ https://baofeidyz.com:443/$1 permanent;
}
}
然后使用保存配置文件,使用nginx -t命令对文件对配置文件进行校验,如果看到successful表示文件格式证书,这时候我们就可以启动nginx服务或者重新加载nginx配置文件。
启动nginx服务:service nginx start
重新加载配置文件:nginx -s reload