linux安装nginx(1.12.2)

配置nginx

安装nginx

<!--安装依赖-->
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
<!--下载压缩包-->
wget http://nginx.org/download/nginx-1.12.2.tar.gz
<!--解压-->
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2/
<!--执行配置-->
./configure
<!--编译、安装(默认安装在/usr/local/nginx)-->
make
make install

防火墙配置

<!--nginx默认监听80端口,如果未关闭防火墙需要配置iptables规则开放80端口(以centos6为例)。-->
<!--编辑配置文件:-->
vim /etc/sysconfig/iptables
<!--在文件中间添加iptables规则-->
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
<!--重启防火墙:-->
service iptables restart
<!--或关闭iptables规则:-->
iptables -F && iptables -t nat -F

配置SSL

安装SSL模块

<!--回到nginx解压目录 重新添加ssl模块-->
cd /nginx-1.12.2/
./configure --with-http_ssl_module
<!--重新编译-->
make
<!--在nginx-1.12.2目录下将新的程序覆盖原有的-->
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
<!--回到/usr/local/nginx目录,检测ssl模块是否安装成功-->
./sbin/nginx -V
<!--启动nginx-->
nginx -c /usr/local/nginx/conf/nginx.conf

安装证书生成模块

<!--先停止nginx服务,避免80端口占用-->
nginx -s stop
<!--安装certbot-auto-->
cd root
wget https://dl.eff.org/certbot-auto
<!--域名签名 可以使用 -d 添加多个域名-->
./certbot-auto certonly --standalone --email 邮箱地址 --agree-tos -d 签名的域名
<!--查看生成的证书-->
ls /etc/letsencrypt/live/
<!--配置自动更新证书 (不知道有木有用)-->
./certbot-auto renew --quiet --no-self-upgrade

nginx配置ssl

配置文件/usr/local/nginx/conf/nginx.conf

server {
    listen       80;
    # ssl端口
    listen       443 ssl;
    server_name  网站域名;

    # ssl配置
    ssl_certificate      /etc/letsencrypt/live/网站域名/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/网站域名/privkey.pem;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # http强制跳转https
    if ($server_port = 80) {  
      return 301 https://$server_name$request_uri;
    }

    location / {
      root html;
      index index.html;
    }
}


参考:

Linux下安装Nginx

LINUX服务器最简洁的HTTPS免费证书配置方法


版权声明:本文为qq_41569991原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。