目前服务器状态 刚从阿里云重置完
// 1 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
// 2 进入/usr/local目录 下载nginx源码包(当然,自己看用哪个版本就可以了)
wget http://nginx.org/download/nginx-1.14.0.tar.gz
// 3 解压
tar -zxvf nginx-1.14.0.tar.gz
// 4 配置安装环境 (这里安装了很多依赖包,有些不是现在就用到的 也可以以后再安装,但是图方便 现在就都安装了)
cd nginx-1.14.0.tar.gz
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-pcre --with-http_v2_module
// --with-http_stub_status_module:支持nginx状态查询
// --with-http_ssl_module:支持https
// --with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
// --with-pcre:为了支持rewrite重写功能,必须制定pcre
// 5 执行编译命令
make && make install // 这时应该在/usr/local目录又生成了一个nginx目录
// 6 启动nginx服务
cd /usr/local/nginx
cd /sbin
./nginx
// 这样 服务就启动了~
// 查看进程
ps -ef | grep nginx接下来是配置ssl的过程
我申请的是阿里云的免费ssl证书,这里暂且不表,申请成功之后可以下载下来两个文件.pem .key
// 1 进入/usr/local/nginx/conf 创建cert目录并上传刚才的两个文件
cd /usr/local/nginx/conf
mkdir cert
// 可能用到的上传和解压工具
yum install lrzsz // rz 选择目录文件上传
yum install unzip // unzip dist.zip .zip的解压工具
// 2 修改nginx.conf的配置, 这里直接参考阿里云给的文档帮助
// https://help.aliyun.com/document_detail/98728.html?spm=5176.2020520154.0.0.78fc56a7itcG3V
# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443 ssl; # SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name localhost; # 将localhost修改为您证书绑定的域名,例如:www.example.com。
root html; # 这两行感觉没有,我并没有写 证明也没事~
index index.html index.htm; # 这两行感觉没有,我并没有写 证明也没事~
ssl_certificate cert/domain name.pem; # 将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key; # 将domain name.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; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; # 站点目录,这里可以自己定义自己的站点目录
index index.html index.htm;
}
}设置HTTP请求自动跳转HTTPS
// 修改nginx.conf的配置,在原来的server上面增加下面的配置(等于是有了两个server)
server {
listen 80;
server_name localhost; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
}
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate cert/cert.pem;
ssl_certificate_key cert/cert.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;
ssl_prefer_server_ciphers on;
...
}
// 这样就可以了
// 正常情况下 修改完配置都是需要重启nginx的吧~
// 可以先停止
cd /usr/local/nginx/sbin
./nginx -s stop
./nginx
















