搭建集群圖例
- 集群搭建圖如下,為了簡單一點,使用一個Nginx服務器+兩個Tomcat服務器,省略數據庫部分:
環境說明
- Linux 為 CentOS 7.2 發行版 + Java jdk 1.8 + Tomcat 1.8 + Nginx 1.15
Linux 下安裝 Nginx
下載nginx的tar包
-
//下載tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.g
安裝gcc依賴
Nginx與Redis一樣,都是C語言開發的,所以都需要在Linux上使用C語言編譯后才能使用,所以得先安裝用於編譯的c環境
安裝Redis時,只需要安裝下面第一項的"yum install gcc-c++"即可;nginx則需要安裝下面4項
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
Nginx 編譯
先進入 nginx 減壓后的目錄 ,執行“./configure”
編譯完成后,這個目錄下會多一個“Makefile”文件
然后執行"make"命令進行編譯,安裝Redis時也有"make"操作
Nginx 安裝
進入nginx減壓后的目錄,即上面的編譯位置執行安裝命令:make PREFIX=/usr/local/nginx install
PREFIX:指定安裝到哪個目錄下,否則默認安裝時很容易找不到地方
在減壓后的 nginx-1.15.0下執行安裝命令"make PREFIX=/usr/local/nginx install",然后就有了安裝后的目錄“nginx”
Nginx 操作
進入nginx安裝目錄下的sbin目錄:
測試nginx配置文件是否配置正確:"./nginx -t"
啟動nginx:“ ./nginx ”
關閉nginx:"./nginx -s stop",也可以采用直接殺進程的方式
退出命令:“./nginx-s quit”,等程序執行關閉后,建議使用此命令。
動態加載配置文件:"./nginx -s reload",可以在不關閉nginx的情況下更新配置文件,使其生效。
開啟防火牆端口
雖然上面啟動了nginx,但是默認除了linux系統自身的瀏覽器可以訪問之外,其它的電腦還是訪問不了,因為CentOS的防火牆默認阻止了22以外的所有端口
可以使用CentOS 7.2系統自帶firewall命令進行開啟80端口,使用命令: firewall-cmd --zone=public --add-port=80/tcp --permanent
- firewall-cmd --reload
- firewall-cmd --zone=public --list-ports
瀏覽器訪問
Nginx 集群
-
Nginx 集群
- 集群所有的操作與在Windows下完全一樣,這里只做簡要描述,可以參考《Nginx 下載與 Windows下搭建集群》
准備web應用
- 仍然使用《Nginx 下載與 Windows下搭建集群》中的nginxApp
准備tomcat1
- apache-tomcat-8_1的server.xml配置文件采用默認值,不做任何修改
准備tomcat2
- 修改apache-tomcat-8_2的server.xml配置文件
開放防火牆端口
默認情況下,這兩個tomcat的端口防火牆是沒有開放的,如果需要從windows電腦上直接訪問CentOS中Tomcat服務器,則需要開啟8080,8090端口
而現在使用nginx反向代理,用戶不再需要直接訪問Tomcat了,而是訪問Nginx服務器,再由nginx轉發到tomcat,所以此時不開啟8080、8090端口也沒事了
永久開啟8090端口:firewall-cmd --zone=public --add-port=8090/tcp –permanent
刷新防火牆:firewall-cmd –reload
查看端口開放狀態:firewall-cmd--zone=public --list-ports
Nginx設置
設置與windows完全也一樣
- 修改nginx.conf文件
瀏覽器訪問:http://192.168.58.129