apache_php_tomcat基于主机名的多虚拟主机整合笔记
《apache_php_tomcat基于主机名的多虚拟主机整合笔记》
环境:rhel4 x86-64 + apache2.0.52 + php5.2.17 + jdk1.6.0_29 + tomcat6.0.35, apache为系统缺省安装
一,php安装,参见《rhel4_x86_64_php5.2.17_make安装支持mysqli》-> http://blog.csdn.net/lazyclough/article/details/7103948
二, tomcat 6 安装
1, 下载jdk-6u29-linux-i586-rpm.bin, 为其加上可执行权限并执行,jdk将安装于/usr/java/jdk1.6.0_29
2, 下载apache-tomcat-6.0.35.tar.gz并解压至任意目录,如:/home/molin/program/apache-tomcat-6.0.35
3,配置java和tomcat环境变量
$ sudo vi /etc/profile, 在文件末尾加上以下内容:
###########################################################
export JAVA_HOME=/usr/java/jdk1.6.0_29
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/home/molin/program/apache-tomcat-6.0.35
export CATALINA_BASE=$CATALINA_HOME
###########################################################
$ sudo source /etc/profile (使环境变量直接生效)
4, 将tomcat配置为系统服务
$ sudo vi /etc/init.d/tomcat
#############################################################
#!/bin/bash
#
#tomcat Startup script for the Tomcat Server
#
#set options related to chkconfig
#chkconfig: 345 80 20
#description: start the tomcat deamon
#
# Source function library
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
prog=tomcat
JAVA_HOME=/usr/java/jdk1.6.0_29
export JAVA_HOME
CATALINA_HOME=/home/molin/program/apache-tomcat-6.0.35
export CATALINA_HOME
# start tomcat service
case "$1" in
start)
echo "Starting Tomcat ... "
$CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat ... "
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat ... "
$CATALINA_HOME/bin/shutdown.sh
sleep 2
echo
echo "Starting Tomcat ... "
$CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start | stop | restart}"
;;
esac
exit 0
#############################################################
$ sudo chkconfig --add tomcat (注:添加成服务)
$ sudo chkconfig --list tomcat
$ sudo chkconfig --del tomcat (注:删除服务)
$ sudo service tomcat start (注:启动服务)
三、配置apache和tomcat以整合APACHE、PHP、TOMCAT并多主机
1, 目的为完成以下功能
www.php.com 访问 php 站点, 站点主目录/var/www/html
www.eda.com 访问tomcat站点1, 站点主目录/home/molin/program/apache-tomcat-6.0.35/eda
www.flow.com 访问tomcat站点2, 站点主目录/home/molin/program/apache-tomcat-6.0.35/flow
2, 到http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/下载 mod_jk-1.2.31-httpd-2.0.x.so, 注意应下载与apache版本相应的版本。
3, 复制mod_jk-1.2.31-httpd-2.0.x.so到apache模块目录
$ sudo cp mod_jk-1.2.31-httpd-2.0.x.so /etc/httpd/modules/
$ sudo chmod a+x mod_jk-1.2.31-httpd-2.0.x.so
4, 添加mod_jk的配置文件
a) $ sudo vi /etc/httpd/conf/mod_jk.conf
#############################################################
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk logs
JkLogFile /etc/httpd/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
#############################################################
b) $ sudo vi /etc/httpd/conf/mod_jk_to.conf
#############################################################
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /eda/* worker1
JkMount /*.jsp worker1
# 将所有文件均送给tomcat
JkMount /* worker1
#############################################################
c) 注:实际上以上a),b)是将一般配置的mod_jk分拆为两个文件,以便只在虚拟主机中包含JkMount语句
5, 编辑httpd.conf
$ sudo vi /etc/httpd/conf/httpd.conf
添加以下内容:
#############################################################
LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf
# ........
AddDefaultCharset off #(注, 这条语句关闭缺省字符集,以便各站点使用自己的字符集)
# ........
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.php.com
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
ServerName www.eda.com
DocumentRoot /home/molin/program/apache-tomcat-6.0.35/webapps/eda
Include /etc/httpd/conf/mod_jk_to.conf
</VirtualHost>
<VirtualHost *:80>
ServerName www.flow.com
ServerAlias flow.com, *.flow.com
DocumentRoot /home/molin/program/apache-tomcat-6.0.35/webapps/flow
Include /etc/httpd/conf/mod_jk_to.conf
</VirtualHost>
#############################################################
6, 编辑tomcat配置文件
A) $ vi ~/program/apache-tomcat-6.0.35/conf/server.xml
a) 删除原来的<Host></Host>节
b) 添加以下内容(#行勿拷入)
#############################################################
<Host name="www.eda.com" appBase="/home/molin/program/apache-tomcat-6.0.35/webapps/eda"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/home/molin/program/apache-tomcat-6.0.35/webapps/eda"></Context>
</Host>
<Host name="www.flow.com" appBase="/home/molin/program/apache-tomcat-6.0.35/webapps/flow"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/home/molin/program/apache-tomcat-6.0.35/webapps/flow"></Context>
</Host>
#############################################################
B) $ vi ~/program/apache-tomcat-6.0.35/conf/context.xml (这个步骤或许可以不要?)
将原<context>标签内容改为:
<Context path="" docBase="/home/molin/program/apache-tomcat-6.0.35/webapps" debug="0" reloadable="true" crossContext="true">
7, 重启服务生效(注:apache监听于80端口, tomcat监听于8080端口)
$ sudo service httpd restart
$ sudo service tomcat restart
8, 错误处理
a) service httpd restart 时报错host路径/home/molin/program/apache-tomcat-6.0.35/webapps/eda找不到, 此为SELinux的问题,可通过关闭SELinux对httpd daemon的保护解决,命令:$ sudo setsebool -P httpd_disable_trans true
apache_php_tomcat基于主机名的多虚拟主机整合笔记相关推荐
- linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置
apache-2.4.12基于域名访问的多虚拟主机配置 原始配置: ServerAdmin kk@etiantian.org DocumentRoot "/data/cms" Se ...
- 申请服务器就是申请虚拟主机吗,申请一个虚拟主机和云主机哪个更好呢?
最近几年, 我们来了解一下云主机和虚拟主机是一个什么样的概念吧! 云主机相当于是一台独立的虚拟 虚拟主机又叫空间,它是利用虚拟化技术在服务器硬盘上划分出来的一部分容量.共享的服务器IP以及带宽等资源, ...
- java主机哪儿好_java虚拟主机哪个好,香港java虚拟主机哪里有!
当然,使用Java程序建站,就必须要用支持Java程序的香港虚拟主机了.虽然用Java建站,总有种"浪费"的感觉,没有优势可言.而且香港Java虚拟主机的价格也都比较贵.但是,很多 ...
- 主机屋虚拟主机php版本,5款免费虚拟主机管理系统(云虚拟主机管理)
大家来推荐一下,虚拟主机管理系统哪家比较好呢?看过pesk,慧林,蓝芒,. 蓝芒的吧,虚拟主机管理系统好,服务态度超赞的. WINDOWS一般用的是IIS..建议你还是用LINUX系统吧.. L1型( ...
- linux 命令查询主机名,主机名命令,linux查看主机名命令
琪琪词资源网 - 主机名命令,linux查看主机名命令 1.linux查看主机名命令 [root@zijuan /]# hostname zijuan 技巧:两个简单的命令临时临时设置主机名. (1) ...
- linux查看本地主机名,linux如何查看主机名
DIEA 分析如下:1.查看本机的hostname#hostname在Linux中和hostname相关的有几个:1. 系统中有HOSTNAME环境变量, 用命令echo $HOSTNAM ...
- 独享云虚拟主机和云服务器,共享虚拟主机和独享虚拟主机的区别
共享虚拟主机和独享虚拟主机的区别 内容精选 换一换 专属主机是部署了虚拟化环境的专属物理服务器,用户独享整台物理服务器资源,与其他租户的服务器物理隔离.用户申请后,可以在专属主机上创建虚拟机,支持用户 ...
- 云服务器和共享主机,共享虚拟主机、独享虚拟主机还是云服务器?
共享虚拟主机的CPU.内存.空间和带宽等资源与其他网站空间共享,当一台服务器上开设的空间越多,每个空间可以使用的资源就越少,尤其在网络高峰时段,相互"争抢"的现象比较严重.而独享虚 ...
- linux 修改主机名 命令,Linux修改主机名命令详解
Linux修改主机名命令 1.如果只需要临时更改主机名,可以使用hostname命令. sudo hostname # 例如: sudo hostname myDebian 这条命令不会更改/etc/ ...
最新文章
- 使用JavaMail发送邮件
- ./configure --with-package=dir指定依赖的软件包
- python爬虫自学笔记分析解密_python爬虫学习笔记——1 各种文本分析工具简介之汇总...
- 线性代数导论4——A的LU分解
- SAP UI5 应用开发教程之十 - 什么是 SAP UI5 应用的描述符 Descriptor
- sulin Python3.6爬虫+Djiago2.0+Mysql --实例demo
- Struts2源码阅读(六)_ActionProxyActionInvocation
- pinctrl子系统和gpio子系统
- java堆栈信息查看,以及JVM性能查看工具-jconsole+jmap
- Java中文jsp页面_java中文乱码解决之道(七)—–JSP页面编码过程
- HTML怎么写入形状,css3写各种形状(收集篇...)
- python np数组中括号里面‘:n‘与‘n:‘什么意思
- 死磕java并发系列
- shinelon笔记本进bios设置u盘启动_重装系统—BIOS设置 U盘启动
- 中控,中控系统,中控会议室
- 360wifi驱动linux驱动安装,ubuntu安装360随身wifi驱动
- ****怎么解决UBUNTU里面VIM编辑器键盘错乱问题****
- 数显之家快讯:【SHIO世硕心语】一个人成功之前,需要失去五样东西!
- DA03 – Schemas导论
- 信息系统项目管理师学习笔记5——信息化与信息系统5
热门文章
- Twig模板语言入门
- Vue中foreach数组与js中遍历数组的写法
- PowerDesigner逆向工程从SqlServer数据库生成PDM(图文教程)
- CS中实现简单的注册验证窗体程序
- Thymeleaf在循环时设置递增序号
- Unknown system variable 'tx_isolation'] with root cause
- Eclipse安装从dao层直接到mapper层的插件
- springboot-springmvc响应json与xml原理-详解数据响应与内容协商(长文预警,收藏慢啃)
- 【NLP】Task3:特征选择
- 如何在 Flutter 中使 Expanded 中的文本可滚动