LANMT架构搭建jspxcms


大纲:

  • 前言

  • LANMT是什么?

  • 实验拓扑图

  • 实验环境

  • 实验步骤

    • Tomcat配置

    • MySQL配置

    • jspxcms安装

    • Apache Httpd配置并测试

    • Nginx配置并测试

  • 总结

前言

上篇文章我们介绍了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安装在一台主机上实现整套架构

实验拓扑图

实验环境

主机 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_HOMEexport 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]# mysqlmysql> 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

重启tomcat并测试

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

再次访问172.16.1.3:8080 , 第一次访问可能有点慢

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.comProxyRequests Off
ProxyPass / ajp://172.16.1.3:8009/
ProxyPa***everse / ajp://172.16.1.3:8009/
</VirtualHost>[root@node2 ~] service httpd start

测试反向代理

我们直接通过80端口访问httpd ,能够显示jspxcms页面

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

总结

我们这样就实现了一个LANMT架构的jspxcms站点,是不是很Easy呢?我们实现了一个LANMT架构,按照我们以前的套路,下篇我们应该实现后端多个Tomcat实例负载均衡了~,~

作者水平很低,如果有错误及时指出,如果你觉得本文写的好请点一波赞~(≧▽≦)/~  
作者: AnyISaIln QQ: 1449472454  
感谢: MageEdu

转载于:https://blog.51cto.com/anyisalin/1766669

LANMT架构搭建jspxcms相关推荐

  1. Android组件化打造知乎日报系列(一)—— 项目架构搭建

    Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...

  2. asp.net mvc4三层架构搭建

    asp.net mvc4三层架构搭建,有需要的朋友可以参考下. 1.建立解决方案: 2.建立一个asp.net mvc4的基本项目WebApp作为三层架构中的UI层(表现层): 2.1.表现层中控制器 ...

  3. 03-iOS蓝牙架构搭建

    蓝牙架构的搭建 前言:笔者认为,如果只是单纯的传授大家代码怎么敲,那么大家很有可能在实际开发中难以运用.刚好本人曾经参与过多款智能硬件开发的架构搭建,本小节本人就现场带领大家开发出一个通用的蓝牙工具类 ...

  4. 美团点评基于MGR的CMDB高可用架构搭建之路【转】

    王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...

  5. B端产品如何做好从1到10的架构搭建?

    上一篇文章,我写了<Saas产品如何做好从0到1的架构搭建?>. 今天这篇文章,不聊从0到1. 我想拓宽思路聊一聊B端产品如何做好从1到10的架构搭建. 一款从1-10的B端产品,产品经理 ...

  6. 基于CentOS7,MySQL5.7的高可用MHA架构搭建实战

    基于CentOS7,MySQL5.7的高可用MHA架构搭建实战 MHA 架构搭建 一 .MHA架构 MHA(Master High Availability)是一套比较成熟的 MySQL 高可用方案, ...

  7. 基于CentOS7,MySQL5.7的主从复制架构搭建实战

    基于CentOS7,MySQL5.7的主从复制架构搭建实战1 一.环境说明 1. 软件版本 环境&软件 版本 虚拟机&VMware Workstation 15 Pro 服务器& ...

  8. Android 应用开发(1)---Android项目架构搭建

    Android项目架构搭建 1. 前言 安卓属于小团队开发,架构的重要性在很多公司其实不是那么的明显,加上现在的开源框架层出不穷,更好的帮助我们上手android项目的开发.我前两年也在公司主导过项目 ...

  9. linux中lamp架构搭建,Linux LAMP架构平台搭建

    LAMP架构 LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态 Web 站点服务及其应用开发环境.LAMP 是一个缩写词,具体包括 Linux 操作系 ...

最新文章

  1. OpenCV常遇问题解决方法汇总
  2. @Value竟然能玩出这么多花样
  3. java 最少使用(lru)置换算法_「面试」LRU了解么?看看LinkedHashMap如何实现LRU算法...
  4. html轮廓位置,html – 具有边框/轮廓的六边形
  5. Redis配置文件常用配置详解
  6. 秒杀多线程第三篇 原子操作 Interlocked系列函数
  7. 体验了一下用word 2007发表博客
  8. activiti7流程设计器_基于容器和微服务应用的架构:容器设计原则
  9. Responsive自适应网页设计与ResponsiveColumn自适应列实例
  10. Android输入事件InputReader和InputDispatcher分析
  11. java win7 管理员权限_Win7下超级管理员创建普通权限任务
  12. 企业如何高效用云?| 资深运维架构师细说云架构下的运维体系构建
  13. Java类汽车,JAVA 建立一个汽车AutoMobile类......
  14. mapreduce详细工作流程
  15. 蜂窝物联网与嵌入式SIM(eSIM)
  16. Impala 在网易有数 BI 应用场景的优化经验
  17. 二维码插件qrcode生成二维码信息
  18. c语言,简易密码输入
  19. Oracle9i中使用SYS_CONNECT_BY_PATH进行行列转换-
  20. ios 开发证书导出p12文件_如何生成苹果开发者证书及描述文件

热门文章

  1. 策略验证_买入口诀_双管齐下买进不怕
  2. ST 电机控制工作台帮助文档翻译 之 使用 ST 电机控制工作台(工作台(文件菜单命令))
  3. 程序员如何提高自控力?
  4. 如果爱忘了那就让一切随风去吧
  5. 总结下自己做过的深度召回模型
  6. 快递查询接口 蛮不错
  7. 软件平台项目设计开发流程
  8. 微信小程序实现两个数之间的运算
  9. 重构系列之重构的标志:《重构》代码的坏味道
  10. 【推荐】比IPH5更爱疯的G5