LANMT架構搭建jspxcms

                LANMT架構搭建jspxcms


前言

上篇文章我們介紹了tomcat的基礎使用, 這篇文章我們介紹LANMT架構并用其實現jspxcms 6.0

LANMT是什么?

我們之前了解了LAMP,LNMP, 為什么會出現LANMT的架構呢?

以前我們解決單臺LAMP架構不能承受高并發的問題時, 首先想到的不應該將其做成負載均衡集群, 而是先要將其各組件進行分離, 例如:MySQL單獨出來,php-fpm運行在單臺主機等解決方式. 在生產環境中tomcat一般來說不會直接面向用戶, 前端一般會使用NginxApache Httpd進行反向代理, 用戶只需要和Nginx或者Apache Httpd保持連接, 可以減緩Tomcat連接器的負擔

可能又有朋友會有疑問了, 我們使用一個web服務器進行反代就行了, 為什么要使用NginxApache Httpd一起呢? 
因為
Nginx對靜態請求的響應速度是無語倫比的, 我們可以在前端對其進行動靜分離, 將圖片和CSS等請求通過Nginx響應, 而Apache Httpd因為同屬于ASFApache Httpd有很多種反代tomcat的方法, 例如: 我們可以通過proxy_http_module,proxy_ajp_module,proxy_ajp_module等模塊反向代理tomcat, 因為ajp協議通過二進制格式傳輸, 而http協議通過文本格式從傳輸, 所以效率會更高, 我們可以將Apache HttpdTomcat安裝在一臺主機上實現整套架構

實驗拓撲圖

blob.png

實驗環境

主機 IP 功用
node1.anyisalin.com 172.16.1.2 Nginx
node2.anyisalin.com 172.16.1.3 Apache, Tomcat, MySQL

實驗步驟

Tomcat配置

我們首先配置Tomcat, 安裝過程這里不做敘述, 不明白的可以看我上篇博客: tomcat基礎進階

安裝Tomcat

[root@node1 ~]# [root@node1 ~]# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz
[root@node1 ~]# tar xf apache-tomcat-8.0.33.tar.gz  -C /usr/local/
[root@node1 ~]# cd /usr/local ; ln -sv apache-tomcat-8.0.33 tomcat ; cd ~
[root@node1 ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.rpm #如果下載出錯, 使用瀏覽器下載
[root@node1 ~]# rpm -ivh jdk-8u77-linux-x64.rpm   #安裝JDK

[root@node1 ~]# vim /etc/profile.d/java.sh     #定義JAVA_HOME
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin
:$PATH

[root@node1 ~]# vim /etc/profile.d/tomcat.sh    #配置tomcat的環境變量
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin
:$PATH

[root@node1 ~]# source /etc/profile.d/tomcat.sh
[root@node1 ~]# source /etc/profile.d/java.sh

配置虛擬主機

[root@node2 ~]# vim /usr/local/tomcat/conf/server.xml   

#設置默認虛擬主機為web1.anyisalin.com
<Engine name="Catalina" defaultHost="web1.anyisalin.com" jvmRoute="TomcatA">  

#添加虛擬主機
<Host name="web1.anyisalin.com" appBase="/data/webapps/" unpackWARS="true" autoDeploy="true">
  <Context path="" docBase="/data/webapps/ROOT" reloadable="true" />
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs"
       prefix="web1_access_log." suffix=".txt"
       pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

[root@node2 ~]# mkdir -PV /data
/webapps/  #創建目錄
[root@node2 ~]# cd /data/webapps/
[root@node2 webapps]# wget http://www.jspxcms.com/uploads/jspxcms-6.0.1-release.zip #下載jspxcms
[root@node2 webapps]# unzip jspxcms-6.0.1-release.zip   #解壓到當前目錄
[root@node2 webapps]# catalina.sh start #啟動tomcat

MySQL配置

安裝MySQL

[root@node2 webapps]# yum install mysql-server -y
[root@node2 webapps]# service mysqld start

創建數據庫和用戶

[root@node2 webapps]# mysql

mysql> GRANT ALL ON jspxcms.* TO jsp@'%' IDENTIFIED BY 'passwd';
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE DATABASE jspxcms;
Query OK, 1 row affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

jspxcms安裝

安裝步驟

訪問172.16.1.2:8080 安裝jspxcms

blob.png

blob.png

blob.png

重啟tomcat并測試

[root@node2 webapps]# catalina.sh stop 
[root@node2 webapps]# catalina.sh start

再次訪問172.16.1.3:8080 , 第一次訪問可能有點慢

blob.png

Apache Httpd配置并測試

安裝httpd

[root@node2 ~]# yum install httpd -y

配置httpd

[root@node2 ~]# cd /etc/httpd/conf.d/
[root@node2 ~]# vim virt.conf
<VirtualHost *:80>
 ServerName www.anyisalin.com
 ProxyRequests Off
ProxyPass / ajp://172.16.1.3:8009/
ProxyPassReverse / ajp://172.16.1.3:8009/
</VirtualHost>

[root@node2 ~] service httpd start

測試反向代理

我們直接通過80端口訪問httpd, 能夠顯示jspxcms頁面

blob.png

Nginx配置并測試

安裝nginx

在node1上安裝配置
[root@node1 ~]# yum install nginx -y  #確保有epel源

配置nginx

[root@node1 ~]# vim /etc/nginx/conf.d/default.conf  #修改以下字段
    location / {
        proxy_pass http://172.16.1.3;
    }

[root@node1 ~]# service nginx start  #啟動nginx

測試nginx

我們通過訪問nginx就能夠訪問隱藏在后端的Tomcat中的jspxcms

blob.png

總結

我們這樣就實現了一個LANMT架構的jspxcms站點, 是不是很Easy呢? 我們實現了一個LANMT架構, 按照我們以前的套路, 下篇我們應該實現后端多個Tomcat實例負載均衡了~,~

作者水平很低, 如果有錯誤及時指出, 如果你覺得本文寫的好請點一波贊~(≧▽≦)/~ 
作者: AnyISaIln QQ: 1449472454 
感謝: MageEdu

原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/15197

(0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-04-22
下一篇 2016-04-22

相關推薦

  • N22期-第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost jimmy]# cp -r /etc/skel/ /home/tuser1 [root@localhost jimmy]#&nbsp…

    Linux干貨 2016-08-30
  • 第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@wlm ~]# useradd tuser1 [root@wlm ~]# cp -r etc/skel/ /home/tuser1/…

    Linux干貨 2016-11-21
  • N25第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ls&nbsp…

    Linux干貨 2016-12-24
  • httpd應用舉例

    應用舉例1、基于用戶和組認證的方式訪問ftp         1、編輯配置文件/etc/httpd/conf/httpd.conf,并使用httpd -t 檢查語法,并systemctl reload httpd       &n…

    Linux干貨 2016-10-23
  • Linux運維之磁盤管理

    ※磁盤管理 計算機是由五大組成部件:輸入設備,輸出設備,存儲器,運算器,控制器,其中輸入設備我們稱之為I/O設備,如鍵盤,掃描器,運算器和控制稱之為cpu,存儲器如,內存,硬盤,優盤。計算機其實只需要內存和cpu其實已經可以完成工作了,但是內存屬于隨機存儲設備,斷電之后就丟失數據,所以我們就需要通過其他的輔助存儲設備來彌補內存的不足,這些輔存我們稱之為外存。…

    Linux干貨 2016-08-27
  • 計算機的組成及其功能

    計算機由運算器,控制器、存儲器及輸入、輸出裝置五部分組成。 第一,運算器(Arithmetical and Logical Unit),也稱作算術邏輯單元,主要是對數據進行各種運算。 第二,控制器(Control Unit)是計算機的控制中心,協調各計算機各部分按照預先的目標和步驟有序的工作。控制器從存儲器中逐條取出指令,分析每條指令規定的操作和所需數據的存…

    Linux干貨 2016-09-17
欧美性久久久久