前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx 2.nginx.conf配置,负载均衡,使用ssl实现https

Nginx 2.nginx.conf配置,负载均衡,使用ssl实现https

原创
作者头像
大大刺猬
修改2020-05-06 17:59:16
1.8K0
修改2020-05-06 17:59:16
举报
文章被收录于专栏:大大刺猬大大刺猬

写在前面:你需要先安装好nginx,你可以先看看https://cloud.tencent.com/developer/article/1623611

1.nginx.conf文件格式大致如下:

代码语言:javascript
复制
全局配置,如工作进程数(一般与逻辑cpu一样多),nginx工作进程的用户
events{
事件块,
}
http{
http块,也就是我们常用的http
负载均衡的服务器列表就是定义这这一层的
    server{
        这个就是具体的server了,每个server可以监听一个地址,可以有很多这样的server,
        servername,serverport.....
        location 正则匹配 {
            这就是具体的操作了,如返回指定的页面,
            ssl证书也是在这一层配置的
        }
        可以有很多个这样的location
    }
    可以有很多个这样的server
}

location请求 匹配规则是最长匹配(基本上都是这种方式),可以参考官方说明:https://nginx.org/en/docs/http/request_processing.html

2.修改全局配置,设置nginx工作进程数和nginx工作进程的用户

2.1创建nginx用户,建议为不可登录用户,安全一点.查看逻辑cpu数量

代码语言:javascript
复制
useradd nginx -s /sbin/nologin             #创建用户nginx,并设置为不可登录
grep ^processor /proc/cpuinfo | wc -l      #统计逻辑cpu数量

2.2修改nginx配置文件:/u01/nginx/conf/nginx.conf

.......

user nginx nginx;

worker_processes 2;

......

懒的同学可以使用如下命令修改

代码语言:javascript
复制
grep '#user' 1>/dev/null /u01/nginx/conf/nginx.conf && sed -i "/^.user/cuser  nginx nginx\;" /u01/nginx/conf/nginx.conf || sed  -i  "/^user/cuser  nginx nginx\;" /u01/nginx/conf/nginx.conf
sed -i "/^worker_processes/cworker_processes  `grep ^processor /proc/cpuinfo | wc -l`\;" /u01/nginx/conf/nginx.conf

2.3重新加载nginx (猜猜为什么修改进程的用户都只需要重新加载配置文件就行)

代码语言:javascript
复制
systemctl reload nginxDDCW
ps -ef | grep nginx

服务名根据自己的实际情况来,我的是我自己这么叫的
服务名根据自己的实际情况来,我的是我自己这么叫的

3.负载均衡:

3.1搭建测试的server:本环境就用nginx搭测试环境.

3.1.1在nginx配置文件的http模块下添加server

server {

listen 8003;

server_name server8003;

location / {

index index8003.html;

}

}

server {

listen 8005;

server_name server8005;

location / {

index index8005.html;

}

}

3.1.2

创建需要访问的网页:

代码语言:javascript
复制
echo '<h1>this is 8003</h1> '  >  /u01/nginx/html/index8003.html
echo '<h1>this is 8005</h1> '  >  /u01/nginx/html/index8005.html

3.2在http模块下,设定负载均衡的服务器列表

下面的配置,定义了两个负载列表:分别叫proxy_ddcw_1

upstream proxy_ddcw_1 {

#默认是轮询,weigth参数表示权值,权值越高被分配到的几率越大

server 192.168.101.171:8003 weight=5;

server 192.168.101.171:8005 weight=5;

#ip_hash; nginx会让相同的客户端ip请求相同的服务器。

}

3.3在要访问的server里面的 location 调用这些负载:

server {

listen 8001;

server_name test_proxy_ddcw_1;

location / {

proxy_pass http://proxy_ddcw_1;

}

}

3.4测试:

访问http://IP:8001

权重是55开,所以2分之一的概率是8003这个页面
权重是55开,所以2分之一的概率是8003这个页面
权重是55开,所以2分之一的概率是8005这个页面
权重是55开,所以2分之一的概率是8005这个页面

4.配置https,

4.1首先要获取证书,

4.1.1找腾讯云申请证书:https://console.cloud.tencent.com/ssl

4.1.2自己制作:自己制作的浏览器上会有红色的警告,这个自行网上找,本次实验用的申请的证书.

4.2配置nginx.conf,设置ssl,本次实验就以上面那个负载的地址改一下

server {

listen 8001 ssl;

server_name test_proxy_ddcw_1;

ssl_certificate /Software/www.yhddcw.com/Nginx/1_www.yhddcw.com_bundle.crt; #根据自己的来选择,都一样的

ssl_certificate_key /Software/www.yhddcw.com/Nginx/2_www.yhddcw.com.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

proxy_pass http://proxy_ddcw_1;

}

}

4.3重新加载配置文件,并测试:

代码语言:javascript
复制
systemctl reload nginxDDCW

必须要域名,不然就是红色的,因为这个证书绑定了域名了
必须要域名,不然就是红色的,因为这个证书绑定了域名了
绑定域名之后,就是绿色的了
绑定域名之后,就是绿色的了

默认端口是443,不然就要手动加端口,这样也不好看,那就把端口改为443把.

这样好看多了....
这样好看多了....

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.nginx.conf文件格式大致如下:
  • 2.修改全局配置,设置nginx工作进程数和nginx工作进程的用户
    • 2.1创建nginx用户,建议为不可登录用户,安全一点.查看逻辑cpu数量
      • 2.2修改nginx配置文件:/u01/nginx/conf/nginx.conf
        • 2.3重新加载nginx (猜猜为什么修改进程的用户都只需要重新加载配置文件就行)
        • 3.负载均衡:
          • 3.1搭建测试的server:本环境就用nginx搭测试环境.
            • 3.1.1在nginx配置文件的http模块下添加server
            • 3.1.2
          • 3.2在http模块下,设定负载均衡的服务器列表
            • 3.3在要访问的server里面的 location 调用这些负载:
              • 3.4测试:
              • 4.配置https,
                • 4.1首先要获取证书,
                  • 4.1.1找腾讯云申请证书:https://console.cloud.tencent.com/ssl
                  • 4.1.2自己制作:自己制作的浏览器上会有红色的警告,这个自行网上找,本次实验用的申请的证书.
                • 4.2配置nginx.conf,设置ssl,本次实验就以上面那个负载的地址改一下
                  • 4.3重新加载配置文件,并测试:
                  相关产品与服务
                  SSL 证书
                  腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档