最近想要扩展下后端技术知识 所以打算深入了解下nginx 并自己搭建一下感受一下。
希望大家也是一样 ,自己动手试一遍 会有不同的体会。下面进入正题吧!
相信想要实际操作ngnix的 都应该有所了解它的基本知识。
我这里紧紧解决关于负载均衡 为了解决并发和前后端分离的实操。
前期准备:
centos 7.0(服务器)
nginx-1.8.0.tar.gz(nginx安装包)
apache-tomcat-8.5.41.tar(tomcat安装包)
fillzila(文件传输工具)
安装包稍后放在百度云 需要其他版本的自己下载
链接:https://pan.baidu.com/s/1UPs4D-6bwzl1_jORni2-7Q 密码:rha9
1.将nginx-1.8.0.tar.gz通过fillzila上传至centos服务器 并解压
tar zxvf nginx-1.8.0.tar.gz
yum install pcre
yum install pcredevel yum install zlib
yum install zlibdevel yum install openssl
3.进入解压后的目录进行配置(默认配置也可以)
cd nginx-1.8.0
./configure \
prefix=/usr/local/nginx \ pidpath=/var/run/nginx/nginx.pid \ lockpath=/var/lock/nginx.lock \ errorlogpath=/var/log/nginx/error.log \ httplogpath=/var/log/nginx/access.log \ withhttp_gzip_static_module \ httpclientbodytemppath=/var/temp/nginx/client \ httpproxytemppath=/var/temp/nginx/proxy \ httpfastcgitemppath=/var/temp/nginx/fastcgi \ httpuwsgitemppath=/var/temp/nginx/uwsgi \ httpscgitemppath=/var/temp/nginx/scgi \ addmodule=/usr/local/fastdfs module/src
4.安装并编译
make && make install
5.启动ngnix
cd /usr/local/nginx/sbin
./nginx
此处有可能报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
原因是 你本地80端口被占用,解决方式有两种
1.查看本地占用80端口的进程并杀死(个人不建议)
2.修改配置文件改端口
cd /usr/local/nginx/conf
vim nginx.conf
修改好后从新编译
make && make install
6.编译成功后测试访问 http://ip:90界面如下安装成功
**
**
1.将tomcat上传至服务器并解压 操作如下
tar -xvf apache-tomcat-8.5.41.tar
2.tomcat解压后的文件重命名 操作如下
mv apache-tomcat-8.5.41 tomcat1
mv apache-tomcat-8.5.41 tomcat2
3.分别对两个tomcat的 server.xml进行端口修改
cd tomcat1/conf/
vim server.xml
作如下修改
"1.0" encoding="UTF-8"?>
<!-- 1 默认8005改成8007 -->
"8006" shutdown="SHUTDOWN">
<!-- 2 Http默认8080 改成9082 -->
"9081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- 3 AJP默认8009 改成8011 -->
"8011" protocol="AJP/1.3" redirectPort="8443" />
接下来修改tomcat2的server.xml
cd tomcat2/conf/
vim server.xml
作如下修改
"1.0" encoding="UTF-8"?>
<!-- 1 默认8005改成8007 -->
"8007" shutdown="SHUTDOWN">
<!-- 2 Http默认8080 改成9082 -->
"9082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- 3 AJP默认8009 改成8011 -->
"8011" protocol="AJP/1.3" redirectPort="8443" />
4.进入相应tomcat目录并运行
# 进入tomcat目录
cd /相对路径/tomcat1
# 运行tomcat
/bin/startup.sh
5.浏览器访问对应http://ip:9081。 http://ip:9082测试 是否tomcat启动成功
6.配置nginx.conf
cd /usr/local/nginx/conf
vim nginx.conf
# 按下面进行增加和编辑,完成后 :wq 保存。不会使用 vi/ vim。你应该上网搜搜。
http {
# 省略代码....
# 增加 upstream, 名称为 serverlist
upstream serverlist{
server localhost:9081 weight=1; # weigh表示权重,越大访问的机率越多
server localhost:9082 weight=1;
server localhost:9083 weight=1;
}
# 编辑
server {
listen 80;
server_name www.yourdomian.com;
location / {
# 这里使用定义 serverlist
proxy_pass http://serverlist;
}
7.重启nginx现在就可以通过你的域名进行访问了。多次刷新就可以看到网站显示是哪个tomcat的内容。