apache2.2配置多站点及在apache2上部署java

apache2路径:

适用于apache2.2

主路径:/usr/local/apache2
配置:.../conf/httpd.conf

配置多站点:

通过不同端口配置多站点:

1、在httpd.conf中监听多个端口

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
Listen 82

2、设置虚拟主机
在httpd.conf中添加

1.
Alias / 'PROJECT_ROOT'
<VirtualHost *:80>
    DocumentRoot 'PROJECT_ROOT'
    ServerName localhost:80或域名
    //设置文件夹权限
    <Directory 'PROJECT_ROOT'>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

2.
<VirtualHost *:82>
    DocumentRoot 'PROJECT_ROOT'
    ServerName localhost:82或域名
    Alias /static/ "PROJECT_ROOT/static/"
    Alias /media/ "PROJECT_ROOT/media/"
    //python使用wsgi
    WSGIScriptAlias / /home/fengxikang/bgi_pet/bgi_pet/wsgi.py
    //权限设置
    <Directory "PROJECT_ROOT">
        <Files wsgi.py>
            Require all granted
        </Files>
        Options +ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

同一端口,不同域名:

修改虚拟主机中的 ServerName即可,端口可以监听同一端口

1.
<VirtualHost *:80>
...
ServerName www.a.com
...
</VirtualHost>

2.
<VirtualHost *:80>
...
ServerName www.b.com
...
</VirtualHost>

同一端口,同一域名,不同路径

Alias / 'PROJECT_ROOT'
<VirtualHost *:80>
    DocumentRoot 'PROJECT_ROOT'
    ServerName localhost:80或域名
    //设置文件夹权限
    <Directory 'PROJECT_ROOT'>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

设置顶部的Alias,使其指向不同路径,如

1.
Alias /a 'PROJECT_ROOT'+a_ROOT
<VirtualHost *:80>
...
</VirtualHost>

2.
Alias /b 'PROJECT_ROOT'+b_ROOT
<VirtualHost *:80>
...
</VirtualHost>

访问时,使用子目录访问,如
localhost/a
localhost/b
就能够访问到不同的站点

apache2+jkmount+tomcat

1、下载JKMount,编译,得到mod_jk.so文件,将mod_jk.so复制到apache2/modules下
并在httpd.conf中添加

LoadModule jk_module modules/mod_jk.so

2、在apache2/conf/下创建workers.properties用以分发

worker.list=worker01,worker02.....
worker.worker01.type=ajp13
worker.worker01.host=localhost
//这个port并不是tomcat默认的8080,需要在tomcat的配置文件中查看
worker.worker01.port=8009
worker.worker01.lbfactor=50
#worker.worker01.cachesize=10
#worker.worker01.cache_timeout=600
worker.worker01.socket_keepalive=1
worker.worker01.socket_timeout=300 
worker.worker01.connection_pool_size=1000
worker.worker01.connection_pool_timeout=600

3、在apache2/conf/下创建mod_jk.conf加载配置
名字可以自由发挥,只要在httpd.conf中被include就可以
httpd.conf

Include conf/mod_jk.conf

mod_jk.conf

JkWorkersFile conf/workers.properties
//此处要在logs中创建相应的文件,否则会报错
JkLogFile logs/mod_jk.log
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"

最后,设置httpd.conf

<VirtualHost *:80>
    //此处的PROJECT_ROOT在tomcat的webapps的相关项目下
    DocumentRoot "PROJECT_ROOT"
    ServerName 域名
    ServerAlias 域名别名
    //将该ServerName下的所有内容转发到JkMount的worker01处理
    JkMount /* worker01
    //权限设置
    <Directory "PROJECT_ROOT">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

注意事项

1.提示无法加载wsgi modules时,需添加python的site-packages路径WSGIPythonPath /usr/local/lib/python2.7/site-packages

编译安装JKMount

以下内容引用自http://www.w2bc.com/Article/15945

下载

apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
pcre-8.36.tar.gz
tomcat-connectors-1.2.42-src.tar.gz

apr

tar -zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr  
make && make install

apr-util

tar -zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config  
make && make install

pcre

tar -zxf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/pcre  
make && make install

编译生成mod_jk

tar -zxf tomcat-connectors-1.2.42-src.tar.gz
cd tomcat-connectors-1.2.42-src/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
chmod 777 ./apache-2.0/mod_jk.so
cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

至此将mod_jk.so复制到apache2/modules下,可在httpd.conf中load

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容