Ubuntu 上快速上手Nginx,ubuntunginx


1. 安装nginx
2. 用简单的方式将nginx最简单的代理用起来
3. 用简单的方式将nginx的反向代理负载均衡用起来
4. 总结

1.Ubuntu 上安装Nginx:
sudo apt-get install nginx
2. 用简单的方式将nginx最简单的代理用起来
nginx 正向代理示意图 :

如果在浏览器通过服务器ip进入能直接看见nginx 的欢迎页面,说明nignx 安装成功了


像上图这样的一个很简单的flask 服务,通过python flask_test.py 启动后,在浏览器网址输入http://127.0.0.1:5000/index 就可以访问该服务,但现在我们要通过访问nginx, 让nginx再帮我们将请求转到这个接口上。

下面就对nginx的配置文件进行配置了:
抱着怎么简单怎么来的思想,我就直接再nginx 原来的配置文件上改,你也可以另外写一个新的。
1)通过cd /etc/nginx/sites-enabled 命令进入该目录,可以看到一个default 的配置文件,Ubuntu的nginx配置文件一般都是在这的,其他版本的Linux系统就不太清楚了

2)用vi default 打开default文件,按i进入vim的编辑状态(左下角会有—INSERT–)再server 模块下,添加一个location 同级的location如下图

新加的location 后面的flask_test 只是为了区分服务,如果需要在该台服务器部署多个服务,可以添加多个location,就可以用多个类似 /flask_test/ 的来区分了,注意:flask_test 的前后两条斜杠不要漏了,还有下面5000端口后的斜杠 和分号也不要漏了,127.0.0.1也可以是你服务器的公网ip

3). 按一下esc键,让后按住shift键,双击z将,保存并退出编辑好的配置文件。
让后通过service nginx reload 命令,重载nginx服务的配置文件。
最后在浏览器输入服务器ip/flask_test/index, flask_test 就是上图的flask_test, 而index则是flask_test.py 服务路由中的index. 如果能访问到index接口下的内容,说明nginx最简单的代理服务就完成了

3. 用简单的方式将nginx的负载均衡用起来
nginx 反向代理负载均衡示意图 :

1)准备两个flask 服务,实际的生产中,两个服务应该是一样的,但我这里为了演示其中的区别,返回的结果稍微有点差别。
2) 跟上面正常代理的差不多,只是配置文件的方式有些许差别,还是和上面的方法一样进入并编辑default 配置文件,然后需要在配置server 模块 上面添加 upstream 模块,这两个模块是同级的。

如上图,编号2 是同一个意思,至于upstream 中的weight=2/1 表示权重,说的直白点就是你访问服务,转到5000端口那个服务2次,才会转到9000端口那个服务1次.
后面的max_fails=6 fail_timeout=60s 表示请求超过60s,则为请求超时,超时次数达到6次则nginx 将不再将用户请求交给该服务处理。
3) 在浏览器中 按照正常代理输入 ip/(location 后面那个,这里是flask/(服务路由的接口名)index 访问接口


刷新多次,会每隔 两次出现5000端口的才出现一次9000端口的,说明它的权重起作用。

4. 总结
以上就是 就是通过nginx 正向代理和反向代理负载均衡的所有介绍。如果想在实际中部署服务,还需要通过supervisor 进行服务进程启动,停止等的管理。如果你的服务用到是Flask或者Django框架,实际部署还有用到gunicorn等网管接口服务,因为它们自带的性能太弱了,自能用来本地测试。如果是Tornado则可以直接使用自带的。

相关内容

    暂无相关文章