阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx配置http和tcp

194次阅读
没有评论

共计 3249 个字符,预计需要花费 9 分钟才能阅读完成。

最近在学习 ejabberd+riak。其实这俩东西配置挺难的,然后具体这俩货怎么配置,我以后会抽空写出配置的详细过程。对于负载均衡,我知道的现在有 Nginx/LVS/HAProxy 这三个大仙儿,各自有各自的优缺点,有关优缺点大家可以度娘一下。先来看看什么是负载均衡。

负载均衡:是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。– 摘自度娘

今天先来看看 Nginx。

一、本机环境:

ubbuntu 14

pcre-8.38  传送门 –>pcre

nginx-1.9.12  传送门 –>nginx

二、安装

1. 分别解压两个压缩包

# 解压 pcre 并重命名文件夹
tar zxvf ./pcre-8.38.tar.gz
mv pcre-8.38 pcre
# 解压 nginx 并重命名文件夹
tar zxvf ./nginx-1.9.12.tar.gz
mv nginx-1.9.12 nginx

2. 安装依赖

sudo apt-get install -y gcc g++ make

3. 安装 pcre

cd ./pcre
./configure prefix=/usr/local/pcre
make && make install

4. 安装 nginx

在这步,需要注意注意几点:

第一点,–with-pcre=stream 这个参数,自从 nginx1.9.0 版本开始,开始支持 tcp 的负载均衡,但是默认没有这个功能,加入这个参数才能对 tcp 金星负载均衡。

第二点,–with-pcre 这个参数,这个其实是要你定位你 pcre 的源代码的,不管你是否刚才装了 pcre。

第三点,就是有关 openssl。当你遇到如下错误,要安装 Openssl

# 错误 1,需要安装 openssl
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using –with-openssl=<path> option.
# 安装 openssl
sudo apt-get install -y openssl

第四点,有关 zlib。当遇到如下错误,要安装 libssl-dev

# 错误,需要安装 libssl-dev
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using –without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using –with-zlib=<path> option.
# 安装 libssl-dev
sudo apt-get install -y libssl-dev
#./configure 通过以后,开始编译
sudo make && make install

现在你可以到转到 /usr/local/nginx/sbin/ 目录去启动 Nginx。不出意外,你打开浏览器输入网址,应该可以看到 Nginx 的欢迎界面

Nginx 配置 http 和 tcp

那现在先恭喜下,你的 Nginx 安装成功了。下面开始做配置。

三、将 Nginx 添加到 PATH

1 #编辑 /etc/bash.bashrc
2 sudo vim /etc/bash.bashrc

在最下面添加如下代码

1 # 添加如下代码
2 if [-d "/usr/local/nginx/sbin" ]; then
3 PATH="$PATH:/usr/local/nginx/sbin"
4 fi
5 # 保存退出
6 # 刷新配置
7 source /etc/bash.bashrc

现在你在任何地方都可以用 nginx 来启动了

四、配置

1.Http

你的 conf 文件在 /usr/local/nginx/conf 中,叫做 nginx.conf,你需要对其进行配置,下面我的一个简单的例子,来展示如何配置

 1 http { 2     upstream backend { 3         server 10.0.1.11:1234;
 4         server 10.0.1.12:1234;
 5     }
 6     server { 7         listen   80;
 8         server_name example.com;
 9         location / {10         limit_except GET {11             deny   all;
12         }
13         proxy_pass http://backend;
14         }
15     }
16 }

其中 upstream 部分设置你要负载的地址,可以添加 weight 来设置比重

proxy_pass 后面要跟 http://upstreamname 这样才能配置成功,然后你可以重启你的 nginx 来验证你的配置

2.tcp

还是更改 conf 文件,如下例子

 1 stream { 2     upstream backend { 3         server 10.17.0.1:1234;
 4         server 10.17.0.2:1234;
 5     }
 6     server { 7         listen 8080;
 8         proxy_connect_timeout 1s;
 9         proxy_timeout 3s;
10         proxy_pass backend;
11     }
12 }

这里要注意 proxy_pass 填的是 upstreamname,没有 http://

这样你就能访问 tcp 接口了。

其实有关 Nginx 还有很多细项配置,我以后可能会在讲解实际软件配置时再讲解。这篇先写到这了,希望对大家有帮助。

更多 Nginx 相关教程见以下内容

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129088.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3249字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中