标签:linux apache nginx httpd jspxcms
大纲:
前言
LANMT是什么?
实验拓扑图
实验环境
实验步骤
Tomcat配置
MySQL配置
jspxcms安装
Apache Httpd配置并测试
Nginx配置并测试
总结
上篇文章我们介绍了
tomcat的基础使用, 这篇文章我们介绍LANMT架构并用其实现jspxcms 6.0
我们之前了解了
LAMP,LNMP, 为什么会出现LANMT的架构呢?以前我们解决单台
LAMP架构不能承受高并发的问题时, 首先想到的不应该将其做成负载均衡集群, 而是先要将其各组件进行分离, 例如:MySQL单独出来,php-fpm运行在单台主机等解决方式. 在生产环境中tomcat一般来说不会直接面向用户, 前端一般会使用Nginx或Apache Httpd进行反向代理, 用户只需要和Nginx或者Apache Httpd保持连接, 可以减缓Tomcat连接器的负担可能又有朋友会有疑问了, 我们使用一个
web服务器进行反代就行了, 为什么要使用Nginx和Apache Httpd一起呢?
因为Nginx对静态请求的响应速度是无语伦比的, 我们可以在前端对其进行动静分离, 将图片和CSS等请求通过Nginx响应, 而Apache Httpd因为同属于ASF,Apache Httpd有很多种反代tomcat的方法, 例如: 我们可以通过proxy_http_module,proxy_ajp_module,proxy_ajp_module等模块反向代理tomcat, 因为ajp协议通过二进制格式传输, 而http协议通过文本格式从传输, 所以效率会更高, 我们可以将Apache Httpd和Tomcat安装在一台主机上实现整套架构

| 主机 | IP | 功用 |
|---|---|---|
| node1.anyisalin.com | 172.16.1.2 | Nginx |
| node2.anyisalin.com | 172.16.1.3 | Apache, Tomcat, MySQL |
我们首先配置
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 "%r" %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
[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)
安装步骤
访问172.16.1.2:8080安装
jspxcms



重启tomcat并测试
[root @node2 webapps] # catalina.sh stop [root @node2 webapps] # catalina.sh start
再次访问172.16.1.3:8080 , 第一次访问可能有点慢

安装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页面

安装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
本文出自 “运维工程师之路” 博客,请务必保留此出处http://anyisalin.blog.51cto.com/10917514/1766669
标签:linux apache nginx httpd jspxcms
原文地址:http://anyisalin.blog.51cto.com/10917514/1766669