阿里云系列二 nginx安装、负载均衡、https配置

阿里云系列一 JDK、Maven、GIT

写完JDK、MAVEN 和GIT 的安装,今天写安装Nginx安装和配置过程中遇到的问题和最后的解决方案。
自己用到的安装包上传到百度云盘了,需要的可以去下载
链接:https://pan.baidu.com/s/1sQGop2mnEnrJ9pyzsP-n3Q 密码:jx2d

先创建一个nginx的操作用户,不要用root操作,用root用户操作虽然简单,但是生产环境一般是对外开放root权限的。

groupadd codeUser
useradd -G codeUser nginxUser
passwd nginxUser
su - nginxUser

大家可以去Nginx官网下载安装包。

-rw-r--r--  1 nginxUser codeUser 1039136 Mar 25 20:28 nginx-1.17.9.tar.gz

然后执行以下命令解压安装包

tar -zxvf  nginx-1.17.9.tar.gz 

进入解压之后的文件夹,在安装Linux之前了需要先安装一些依赖的

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

然后执行

./configure --prefix=/home/nginxUser/nginx --with-http_ssl_module

–prefix=/home/nginxUser/nginx指定nginx的安装路径
–with-http_ssl_module 启用https
编译没有问题之后执行以下命令

make && make install

为了方便执行nginx命令我们设置这样就不每次执行nginx命令都切换目录

export NGINX_HOME=/home/nginxUser/nginx/sbin
export PATH="${PATH}:${NGINX_HOME}"

启动nginx,执行以下命令

nginx

https配置

nginx的安装比较简单,接下来我们进行负载均衡和https的配置.
https会用到证书,我们使用openssl生成自签发证书。

  • 生成ca私钥ca.key
openssl genrsa -des3 -out ca.key 2048
  • 生成ca公钥 ca.crt
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
  • 生成服务器私钥
  openssl genrsa -des3 -out server.key 2048
  • 从服务器server私钥生成签名请求CSR文件
openssl req -new -key server.key -out server.csr

生成服务器的crt文件

openssl ca -policy policy_anything -days 3650 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt

如果生成crt文件文件报文件夹不存在,执行以下操作
修改/etc/pki/tls/openssl.cn后执行以下命令

mkdir -p CA/newcerts
touch CA/index.txt
touch CA/serial
echo 00 > CA/serial

在这里插入图片描述
将生成好的文件放到/home/nginxUser/nginx/conf/cert目录下,修改nginx.conf配置

server {
        listen       8083 ssl;
        server_name  localhost;

        ssl_certificate     cert/server.crt;
        ssl_certificate_key  cert/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols SSLv2 SSLv3 TLSv1.2;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers  on;

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

    }

因为非root用户不能使用1024以下端口443默认端口,所以配置成了8083端口,我们可以配置端口转发,编辑/etc/sysctl.conf新增

net.ipv4.ip_forward = 1

执行配置生效命令

 sysctl -p

在修改之前,如果你是centOS 7系统,那么需要先安装一个东西来使接下来的命令可以使用:

yum -y install iptables-services

端口转发443端口转发到8083,保存并重启iptables

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8083
service iptables save
service iptables restart

配置完成之后我们重启nginx我们来验证一下。访问https://ip

在这里插入图片描述## 负载均衡配置

主要是配置up

 upstream  SpringBoot {
        server   ip:8080 weight=5; 
        server   ip:8080 weight=5;
    }

贴上https和负载均衡的完整配置

server {
        listen       8083 ssl;
        server_name  localhost;

        ssl_certificate     cert/server.crt;
        ssl_certificate_key  cert/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols SSLv2 SSLv3 TLSv1.2;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /SpringBoot {
            proxy_pass   http://SpringBoot;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_ignore_client_abort on;
            client_max_body_size    10m;
            client_body_buffer_size 512k;
        }
    }

很喜欢的一个文艺女青年的公众号“内心的话”,大家可以去关注一下。
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值