Nginx的安装及负载均衡(Linux环境)

一、依赖环境安装

操作系统: CentOS 7.3 安装版本: nginx-1.14.2

安装gcc:

yum install gcc-c++

安装其他依赖:

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

 

二、Nginx安装

官网下载地址

2659012-c6605f8c454a66a3

 

nginx下载包的解压

  • Windows下载完后通过MobaXtem终端模拟器将安装包上传到服务器(CentOS),通过以下命令进行解压:

tar -xzvf 压缩包文件地址 -C 解压缩到的文件夹

 

nginx的编译安装

  • 进入nginx目录,执行如下命令:
# --prefix可以指定安装目录
./configure --prefix=/usr/java/nginx/nginx-1.14.2/
make & make install

 

nginx的启动

  • 编译成功后,nginx根目录下会出现sbin文件夹,进入sbin文件夹并运行nginx./nginx

  • 查看启动是否成功

# 启动完毕查看是否启动成功
ps -ef | grep nginx

 

三、Nginx负载均衡的配置

1. 创建vhost文件夹,用于添加负载均衡的相关配置:

2

2. 进入vhost文件夹,创建*.conf文件 (如myconf.conf),加入如下配置:

#将到120.78.151.65的请求负载到不同端口的tomcat上,weight为其权重
upstream 120.78.151.65{
  server 120.78.151.65:18080 weight=10;
  server 120.78.151.65:9080 weight=1;
}

server{
  listen 80;  #监听的端口号
  autoindex on;
  server_name 120.78.151.65  #监听的服务器
  access_log /usr/java/nginx/nginx-1.14.2/logs/access.log combined;
  index index.jsp index.html index.htm index.php;

  #将端口监听到的请求转发到如下服务器,通过上面进行负载均衡
  location / {
      proxy_pass http://120.78.151.65;
  }
  
}

3. 在nginx的conf文件夹下的nginx.conf中加入如下代码include vhost/*.conf,将vhost的配置文件导入:

default

4. 进入sbin文件夹

  • 关闭nginx: ./nginx -s stop

  • 重启nginx: ./nginx -s reload

  • 查看启动是否成功: ./nginx -t

3

 

四、Nginx安装的异常及解决:

异常

nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
2019/01/10 19:08:56 [emerg] 6996#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)

原因

  • nginx/目录下没有logs文件夹

解决

  1. nginx根目录下运行如下命令:
mkdir logs
chmod 700 logs
  1. 创建完logs文件夹后重新启动nginx

 

五、Nginx安装及负载均衡配置(Windows环境下)

安装与配置

  • 基本步骤与Linux环境相同,如果需要修改本地域名重定向用于测试负载均衡,打开C:\Windows\System32\drivers\etc目录下的hosts文件,加入127.0.0.1 www.test.com即可将www.test.com重定向到本地

遇到的坑

  • 安装nginx后需要重启电脑后配置的文件才能生效,否则nginx不会进行跳转

 

参考文献