一台linux服务器,通过apache实现,一个域名访问jsp的网站,一个域名访问php的网站
大多数互联网创业公司都会遇到一个VPS或一台服务器放多个网站供不同域名进行访问的需求,这篇文章就从实战的角度为大家介绍如果实现这一需求。
准备工作
1.一台linux服务器或虚拟主机,网络环境畅通,且服务器已经安装了yum相关的软件。
2.linux服务器jdk、tomcat已经正常安装。
安装部分
#-安装apache(我这里的apache是2.2.3的)
#因为要编译安装与apache有关的内容<如php,mod_jk>,因此需要httpd-devel以获得APXS binary
#安装完apache后,在/var/www/html文件夹中放入index.html,如果通过http://localhost/index.html能正常访问此文件,表示apache安装成功
#安装php及php相关软件包(如php连接mysql的函数包、图片处理gd包、国际化mbstring包,一些安装类型的php源程序需要这些包)
(我这里的php是,5.1.6的,其他包也是针对此版本的php的安装包)
#安装完毕后,在/var/www/html中放入两php文件,test.php,test1.php,代码如下
#test.php
#test1.php
#如果test.php能够访问,表示php安装成功;如果test1.php访问成功,表示php-mysql安装成功
#-下载并编译安装tomcat-connectors(我使用的是1.2.37)
#下载tomcat-connectors
#上传文件到linux服务器,解压
#切换到tomcat-connectors的安装目录
#执行安装(注意,前面安装apache是一定要有http-devel,否则不会生成apxs二进制文件。另如果apache使用编译安装,其apxs文件默认在/usr/local/apache2/bin/apxs)
make install
#拷贝生成的apache连接tomcat的.so文件到apache对应的目录
配置部分
#-配置apache
#-修改httpd.conf,在一堆LoadModule的附近加上下面这句话
LoadModule jk_module modules/mod_jk.so
#-创建mod_jk.conf文件,内容如下:
#指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/httpd/conf.d/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"
# 将所有请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /* worker1
#在对应的位置/etc/httpd/conf.d/创建workers.properties,内容如下:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=127.0.0.2
#Tomcat AJP服务对应的端口
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
#在httpd.conf配置虚拟主机
#×××虚拟主机监听
#此项配置是说,如果通过域名访问到此台服务器,则按照jk-map.properties配置的内容进行转发处理
<VirtualHost *:80>
ServerName
JkMountFile /etc/httpd/conf.d/jk-map.properties
DirectoryIndex index.action
</VirtualHost>
#此项配置是说,如果通过域名访问到此台服务器,则自动转发到/var/www/html目录中,此目录中放的就是php网站的代码
#Directory标签中的内容,是对此目录的权限做一些培训,比如,“关闭显示文件列表”
<VirtualHost *:80>
ServerName
DocumentRoot /var/www/html
DirectoryIndex index.html
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#如果没有在虚拟主机中进行配置的域名,统一都会根据mod_jk.conf中的配置进行转发,这里mod_jk.conf配置
#对所有的请求都转发到work1的配置中,使用其他域名访问此服务器时,会转发到tomcat中进行处理。
#配置tomcat
#tomcat的安装这里就不说了,只要注意tomcat的server.xml的端口不要和apache的80端口冲突就行,另外,AJP13一定要配置,如下所示(仅列出关键部分)
<Connector port="8088" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#最后,修改本地的host,使,均指向127.0.0.1
#如果访问http://到tomcat的默认页面,访问http://到index.html页面,则表示安装成功。
PHP 之PHP + phantomJS实现网站截屏php phantomjs
php memcache 扩展 php -m 与 phpinfo() 不同php使用memcache
[PHP]APACHE模块化安装PHP以及MySQL 配置@Windows(PHP5)apache添加php模块
PHP学习总结(3)——PHP入门篇之PHP的echo语句php echo语句
[PHP] PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1)php性能测试
[PHP] php5.3之前-php5.3-php7垃圾回收机制的进化PHP的垃圾回收机制
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.4
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.2 7.3
PHP之——在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。wampserver打开php项目