# 一、依赖环境安装

操作系统: 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
1
2
3

# 二、Nginx安装

# 官网下载地址

  • http://nginx.org/en/download.html

2659012-c6605f8c454a66a3

# nginx下载包的解压

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

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

# nginx的编译安装

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

# nginx的启动

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

  • 查看启动是否成功

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

# 三、Nginx负载均衡的配置

进入nginx目录下的conf文件夹:

 

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;
  }
  
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

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)
1
2

# 原因

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

# 解决

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

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

# 安装与配置

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

# 遇到的坑

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

# 参考文献


Last Updated: 2023-2-20 9:15:04 ├F10: AM┤