0 前言
最近一个项目需要搭建集群,用到负载均衡服务器,因此尝试一下Nginx,一些安装、配置与踩坑实录如下。
1 环境配置
1.1 我的环境配置
- ubuntu18.04
- 无jdk、无jre、无tomcat、无nginx
1.2 安装jre
因为tomcat是基于jre环境的,因此需要安装jre这个java运行环境。网上部分材料说要安装jdk,在这里其实是不需要jdk的。(jdk是java开发套件,像我这种不进行java开发,只需要一个java程序运行环境的,只需要配置jre就可以了)
因为想到以后对jre的需求不会很频繁,所以我就使用Linux命令式一键傻瓜安装了。
使用命令:
sudo apt-get update
sudo apt-get install default-jre
2 安装tomcat与配置
2.1 安装tomcat
unbuntu系统中有自带的tomcat版本,可以使用linux命令进行安装,不过这种安装方式有一个弊端:
系统会将tomcat的运行程序和配置文件等分散到不同的路径下,在后续配置过程中会出现很多不变。另外还涉及到操作/读写权限问题。个人建议这种进场需要进行改动和配置的软件安装在自己的$HOME目录下。
建议官网下载安装包,手动解压,我使用的是tomcat8。
下载链接如下:
https://tomcat.apache.org/download-80.cgi
下载后使用下面命令解压即可。
tar -zxvf apache-tomcat-8.5.69.tar.gz
2.2 进行配置
tomcat访问端口等配置在$TOMCAT_HOME/conf/server.xml文件。例如根据需要修改访问端口:
在浏览器中输入:localhost:8080
验证tomcat是否安装成功。
3 安装Nginx与配置
这边踩了很多坑。
3.1 安装Nginx
还是建议下载安装包,手动安装。
Nginx手动安装需要编译源码,基于C++。
1.下载安装包
我安装的是Nginx1.8版本。
Nginx各版本下载链接:http://nginx.org/download/
2.解压到$NGINX_HOME
tar -zxvf nginx-1.8.0.tar.gz
3.设置编译路径
在$NGINX_HOME目录下,运行命令:
./configure --prefix= y o u r / p a t h / n g i n x ( your/path/nginx( your/path/nginx(your/path/nginx为Nginx源码编译后的程序存放路径)
4.进行编译
在$NGINX_HOME目录下,运行命令:
make
如果此时编译报错:
src/core/ngx_murmurhash.c:37:11: 错误:this statement may fall through [-Werror=implicit-fallthrough=] h ^= data[2]
解决方法参考:https://www.cnblogs.com/wxj612/p/13696628.html
5.安装
在$NGINX_HOME目录下,运行命令:
make install
6.启动Nginx
安装成功后,切换到$NGINX_HOME/sbin目录下,启动Nginx。
sudo root
需要使用root权限,否则报错13:access denied。
./nginx
3.2 进行配置
1.添加upstream backserver
在$NGINX_HOME/conf/nginx.xml中添加需要代理的后端服务器的ip和访问端口:
upstream backserver {# 默认服务器负载均衡方式为轮询法
server 127.0.0.1:8080;#服务器1(使用不同端口模拟不同服务器)
server 127.0.0.1:8081;# 服务器2(使用不同端口模拟不同服务器)
}
2.配置proxy_pass location
在$NGINX_HOME/conf/nginx.xml的server/location部分添加:
proxy_pass http://backserver;
如图:
4 参考材料
- https://www.bilibili.com/video/BV1av411J777?share_source=copy_web
- https://www.cnblogs.com/sijizhen/p/10579510.html
- https://www.cnblogs.com/wxj612/p/13696628.html