1. 下载nginx安装包
wget http://nginx.org/download/nginx-1.21.6.tar.gz
2. 解压压缩包
tar -zvxf nginx-1.21.6.tar.gz
3. 初始化configure
#配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态
./configure --prefix=/usr/local/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module
如果缺少依赖就安装依赖包
yum -y install gcc gcc-c++ autoconf automake make
yum -y install openssl openssl-devel
4. 编译安装
#编译安装nginx
make & make install
5. 开启ssl
从阿里云下载免费ssl证书
vim /usr/local/nginx/conf/nginx.conf
在结尾处新增一行
http {
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm index.php;
}
}
#在这儿新增
include /usr/local/nginx/conf/vhost/*.conf;
}
新建ssl.conf配置文件,文件路径/usr/local/nginx/conf/vhost/ssl.conf
文件内容
server {
listen 80;
server_name 你的域名;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server
{
# 基于域名的虚拟主机
listen 443 default_server ssl;
#listen 443;
server_name 你的域名;
ssl_certificate /home/nginx/ssl/证书文件.pem;
ssl_certificate_key /home/nginx/ssl/证书文件.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
6. nginx无法访问https
-
排查服务器安全组规则是否开启443端口
-
排查nginx是否开启443端口
netstat -anp | grep nginx
如果没有开启,就检查nginx是否安装ssl模块,以及证书位置信息
-
排查服务器防火墙443端口状态
firewall-cmd --zone=public --query-port=443/tcp
yes代表开启,no代表未开启
服务器开启443端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
重启防火墙使其生效
firewall-cmd --reload
7. 常用命令
启动nginx
/usr/local/nginx/sbin/nginx
关闭nginx
pkill -9 nginx
重启nginx,重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
校验nginx配置文件
/usr/local/nginx/sbin/nginx -t
查看nginx进程
ps -ef|grep nginx
查看nginx端口
netstat -anp | grep nginx