主要结构
什么是反向代理与负载均衡 反向代理 负载均衡Nginx 负载均衡的实现HTTP UPstream 模块 什么是 HTTP Upstream 模块 ip_hash 指令 -- 落到哪个上 server 指令 -- server 的权重 UPstream 指令其他负载均衡的方法 对于我们前端而言只需要将负载子我们的项目里面配置好就可以了不需要去太深入的学习,只要给人家运维一眼一口,然后知道怎么配合就完了,因为对于运维来讲,他们是不太懂 Node 的什么什么东西的,他们只会配这个 Nginx 的,所以说我们学这个的话只要学的够用就 ok 了内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,K8S,Docker,TCP/IP,协程,DPDK多个高级知识点。
//安装 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"//查看是否有 nginx 的包
brew search nginx命令行输出如下:打了一个对勾就证明是有的,接下来就可以安装了
//安装 nginx
brew install nginx
//装过之后可以查看 nginx 对应的一些版本的信息
brew info nginx
//查看 nginx 版本信息
nginx -v
//启动 nginx ,这个默认的端口号是 8080
nginx
//可以暂停 nginx
nginx -s stop
//再次启动 nginx
nginx这个是时候在浏览器中输入 localhost:8080 就可以打开 nginx 首页了//停掉 jenkins
sudo launchctl unload/Library/LaunchDaemons/org.jenkins-ci.plist
//停掉之后如果想启动 jenkins
systemctl start jenkins想要进行上面的 反向代理和负载均衡 还需要对 nginx 进行配置//停止 nginx 服务
nginx -s stop
//重新加载 nginx 配置文件
nginx -s reload打开 nginx 具体安装目录 查看配置文件/usr/local/etc/nginx/ 这个是 macOS 下 nginx 的安装目录,其他系统的可能会不大一样//先进入 nginx 目录的上一级目录
cd /usr/local/etc/
//查看该目录下的所有文件,可以在下图看到 nginx 目录
ls//再进入 nginx 目录
cd nginx
//查看该目录下的所有文件,可以在下图看到 nginx 目录下的所有文件
ls//查看配置文件的内容,下图是内容的一部分,这个里面的内容就是 nginx 默认的配置内容
cat nginx.conf//这个就是我们前端需要给运维做的东西,这个是从复杂的 nginx 里去抽出来的
worker_processes 4;//这个是你的一个工作的进程,其实实际上指的就是 CPU 的核数
events{
worker_connections 1024;//这个就是整个的连接数,就是说你一下子往你的这个上面压多少
}
//上面两个其实你不给运维的话也是可以的,他都不要,你写了也没用,关键的就是下面的 http
http{
//这个是负载均衡的所有的 server ,这里的 IP 地址需要写成你需要用到的真实有效的才行
upstream firsttest{
server 192.168.230.128;
server 192.168.230.129;
}
server{
//通过 server 监听的是 8080
listen 8080;
//当你访问 / 这个路由地址的时候 通过下面的 proxy_pass 代理去访问 firsttest 然后就可以了
location / {
proxy_pass http://firsttest;
}
}
}无注释版本worker_processes 4;
events{
worker_connections 1024;
}
http{
upstream firsttest{
server 192.168.230.128;
server 192.168.230.129;
}
server{
listen 8080;
location / {
proxy_pass http://firsttest;
}
}
}
接着是对照上面的设置修改你的 nginx.conf 文件先要对之前的 nginx.conf 文件进行备份//先进入到系统安装的 nginx 目录下
cd /usr/local/etc/nginx
//备份配置文件
cp nginx.conf nginx.conf.back
//备份之后再查看是否已成功生成文件
lsworker_processes 4;
events{
worker_connections 1024;
}
http{
upstream firsttest{
server 192.168.230.128;
server 192.168.230.129;
}
server{
listen 8080;
location / {
proxy_pass http://firsttest;
}
}
}修改并保存之后,在浏览器中打开你设置的两个服务器 ip 地址进行查看,打不开的原因也会出现,比如:防火墙未关闭导致的//先暂停
nginx -s stop
//进入 html 目录修改 index.html
cd /usr/share/nginx/html
vi html
//修改之后保存并退出
ESC 键
:
wq
//重载
nginx -s reload
//启动
nginx现在刷新浏览器,会发现 128 和 129 两台服务器分别能落到的几率为 50%//先查看 nginx 配置文件
cat /etc/nginx/nginx.conf会发现 http 设置里面有这样的默认设置//发现只有这个目录下有个 default 文件
cd /etc/nginx/sites-enabled
ls
//查看该文件
cat default发现里面引用的是 root 用户下的 /var/www/html 目录中的 htmlcd /var/www/html
//查看目录下包含的文件 发现只有 index.nginx-debian.html 文件
ls
//使用下面的命令以图形化的方式打开该目录(适合 Ubuntu 下使用的命令) 再在编辑器中 修改 index.nginx-debian.html 文件 保存并退出
nautilus ./
//先将 nginx 运行暂停
//再重载
//最后启动
systemctl start nginx
//最后查看是否是 running 状态
systemctl status nginx //先找到在运行中的与 nginx 相关的所有进程
ps -eaf |grep nginx
//然后使用 kill -9 命令将他们一个一个的杀掉
kill -9 1250
//再重新启动 nginx
systemctl start nginx 这个时候再去刷新查看浏览器,会发现已经成功了 129 128 每次落到的几率都是 50%//先暂停 nginx
systemctl stop nginx
//进入配置文件目录
cd /etc/nginx
//以图形化的界面打开该目录
nautilus ./
//在编辑器中编辑 nginx.conf 配置文件
//在 firsttest 里面增加一个 ip_hash 属性 一定记得要加 分号
upstream firsttest{
ip_hash;
}
//之后再重载一遍
nginx -s reload
//运行
nginx//Centos
yum install nginx
//Ubuntu
sudo apt-get install nginx在修改完 nginx.conf 文件并保存后 重载时会报错下面是报错的文本
nginx: [error] invalid PID number "" in "/run/nginx.pid"
需要先执行一行命令,才能再执行重载
// /etc/nginx 是 ubuntu 和 centos 下的安装目录
cd /etc/nginx
nginx -c /etc/nginx/nginx.conf
//然后再进行重载
nginx -s reload启动和暂停命令使用 systemctl//启动 nginx
systemctl start nginx
//暂停 nginx
systemctl stop nginx
//重启 nginx
systemctl restart nginx如果在启动时遇到下面的错误,可移步至 centos7安装nginxJob for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
Ubuntu 和 Centos nginx 的具体文件位置 nginx 配置文件的目录 /etc/nginx/ nginx 项目资源文件的目录 /usr/share/nginx/有时在本机打不开的原因:防火墙未关闭、nginx 未启动在 Ubuntu 下修改文件时先进入目录下再使用 nautilus ./ 命令以图形化的形式打开目录,再在编辑器中进行编辑并保存比较方便这里我使用的是 Centos 和 Ubuntu 两个虚拟机来模拟的服务器版权声明:我们致力于保护作者版权,注重分享,被刊用文章【nginx正向代理配置(Nginx的反向代理与负载均衡)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
