Chinaunix首页 | 论坛 | 博客
  • 博客访问: 118107
  • 博文数量: 38
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-06 13:04
文章分类

全部博文(38)

文章存档

2012年(4)

2010年(34)

我的朋友

分类: LINUX

2010-06-08 00:03:20

squid2.6 + apache2.0 + weblogic9.2 安装配置

*****************************************************************************

这两天搭建了该环境,用于记录备忘。

环境:两台缓存服务器装Squid2.6,四台Apache2.0的WEB服务器,4台WEBLOGIC9.2集群。

一、squid-2.6.STABLE20 安装配置:

1、解压包squid包:
#tar xvzf squid-2.6.STABLE20.tar.gz

2、编译设置:
#cd squid-2.6.STABLE20
#./configure --prefix=/usr/local/squid --enable-arp-acl --enable-pthreads --enable-

underscore

========================================================================================
参数说明:
--perfix =PREFIX
如前面描述的一样,这里设置安装目录。安装目录是所有可执行文件,日志,和配置文件的默认目录。

在整本书中,$prefix指你选择的安装目录。
--localstatedir =DIR
该选项允许你改变var目录的安装位置。默认是$prefix/var,但也许你想改变它,以使squid的磁盘缓

存和日志文件被存储在别的地方。
--enable-dlmalloc[=LIB]
在一些系统上,内建的内存分配机制(malloc)在使用squid时表现不尽人意。使用--enable-dlmalloc

选项将squid源代码包中的dlmalloc包编译和链接进来。假如你的系统中已安

装dlmalloc,你能使用=LIB参数指定库的路径。
--enable-async-io[=N_THREADS]
异步I/O是squid技术之一,用以提升存储性能。aufs模块使用大量的线程来执行磁盘I/O操作。该代码

仅仅工作在linux和solaris系统中。=N_THREADS参数改变squid使用的线程数

量。
--enable-icmp
squid能利用ICMP消息来确定回环时间尺寸,非常象ping程序。你能使用该选项来激活这些功能。
--enable-underscore
允许解析下划线,默认情况下Squid认为带下划线的URL是非法的,拒绝访问该地址。
========================================================================================

3、编译
#make

4、安装
#make install

5、配置squid参数,修改文件:
#vi /usr/local/squid/etc/squid.conf

#端口配置,做网站代理用80端口,反向代理的需要加上transparent:
http_port 172.16.168.122:80 transparent

#Squid缓存的文件系统、位置和缓存策略:
cache_dir ufs /var/squid
cache_mem 32MB
cache_swap_low 90
cache_swap_high 95

#服务器管理者的电子邮件,当错误发生时,该地址会显示在错误页面上,便于用户联系:
cache_mgr

Squid会将/var/squid目录作为保存缓存数据的目录,每次处理的缓存大小是32兆字节,当缓存空间使

用达到95%时,新的内容将取代旧的而不直接添加到目录中,直到空间又下降

到90%才停止这一活动。如果不想Squid缓存任何文件,如某些存储空间有限的专有系统,可以使用null

文件系统(这样不需要那些缓存策略):
cache_dir ufs /usr/local/squid/var/cache 100 16 256
#cache_dir null /tmp
  
#下面的几个关于缓存的策略配置中,较主要的是第一行,即用户的访问记录,可以通过分析它来了解

所有用户访问的详尽地址:
cache_access_log /var/squid/access.log
cache_log /var/squid/cache.log
cache_store_log /var/squid/store.log

##下面这行配置是在较新版本中出现的参数,告诉Squid在错误页面中显示的服务器名称:
visible_hostname localhost

反向代理apache的配置:
cache_peer 172.16.168.122 parent 81 0 no-query originserver weight=1 name=a
cache_peer_domain a search.xinhuanet.com
cache_peer_access a allow all

#修改如下配置,把http访问限制的deny的改为allow,其他相关访问策略根据情况再进行配置:
http_access allow !Safe_ports
http_access allow all
http_reply_access allow all

6、检测配置
/usr/local/squid/sbin/squid -k parse
假如你看不到输出,配置文件有效,你能继续后面的步骤。然而,如果配置文件包含错误,squid会告

诉你.

7、运行
cd /usr/local/squid/sbin
./squid -s

8、启动脚本
/etc/rc.local,增加一行如下:
/usr/local/squid/sbin/squid -s

9、停止服务
squid -k shutdown
squid -k interrupt命令,squid立即关闭

10、滚动日志文件
#除非你在squid.conf里禁止,squid会写大量的日志文件。你必须周期性的滚动日志文件,以阻止它们

变得太大。squid将大量的重要信息写入日志,假如写不进去了,squid会发#

生错误并退出。为了合理控制磁盘空间消耗,在cron里使用如下命令:
#%squid -k rotate例如,如下任务接口在每天的早上4点滚动日志:

0 4 * * * /usr/local/squid/sbin/squid -k rotate该命令做两件事。
#首先,它关闭当前打开的日志文件。然后,通过在文件名后加数字扩展名,它重命名

cache.log,store.log,和access.log。例如,cache.log变成cache.log.0,cache.log.0变成

#cache.log.1,如此继续,滚动到logfile_rotate选项指定的值。
#squid仅仅保存每个日志文件的最后logfile_rotate版本。更老的版本在重命名过程中被删除。假如你

想保存更多的拷贝,你需要增加logfile_rotate限制,或者编写脚本用于将#

日志文件移动到其他位置。

#如有防火墙,修改如下配置:
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --

to-ports 3128


******************************************************************************************

*********

二、APACHE安装

1、# tar xvzf httpd-2.0.61.tar.gz

2、# cd httpd-2.0.61

3、#./configure --prefix=/usr/local/apache --enable-so --enable-cache --enable-disk-cache

--enable-mem-cache --enable-rewrite --enable-info --enable-proxy

--enable-proxy-http --enable-proxy-connect --enable-proxy-balancer

4、make

5、make install

6、cd /usr/local/apache/bin

7、检测apache
#./apachectl –l
如果有
   mod_cache.c
   mod_disk_cache.c
   mod_mem_cache.c
这3个模块,说明该apache可以支持squid cache了。

#./apachectl -t
有Syntax OK,则成功


8、更改httpd.conf的设置
vi /usr/local/apache2/conf/httpd.conf
#在末尾添加上:

   CacheForceCompletion 100
   CacheDefaultExpire 3600
   CacheMaxExpire 86400
   CacheLastModifiedFactor 0.1

参数的解释:
mod_cache:
CacheEnable: 启动 mod_cache,其后接两个参数。第一个参数指定快取的种类,应设为 mem (记忆体

快取) 或 disk (磁碟快取) 之其一;第二个参数指定使用快取的 URI 路径,

如果对整个网站 (或虚拟主机) 进行快取,简单指定为根目录(/) 即可。
CacheForceCompletion:
这个值指定当 HTTP request 被取消时,内容的产生动作要完成的百分比;预设是 60(%)。
CacheDefaultExpire:
指定快取的预设过期秒数;预设值是一小时 (3600)。
CacheMaxExpire: 指定快取最大的过期秒数;预设值是一天 (86400)。
CacheLastModifiedFactor:
用来从回应里 Last Modified 资讯算出 expire date。
计算方式是:
expire period (过期时距) = 最后更新后至今的时间间距 * CacheLastModifiedFactor,而 expire

date = 目前时间 + expire period ,不过无论如何,过期时间不能超过

CacheMaxExpire 的设定值。

9、拷贝weblogic插件mod_wl_20.so文件到/usr/local/apache/modules目录下

10、配置虚拟主机代理WEBLOGIC
#vi /usr/local/apache/conf/httpd.conf

#修改端口,若反向代理,也可不改:
Listen 80

#确认ServerName
ServerName 172.16.168.122:80

#确认NameVirtualHost *:80
NameVirtualHost *:80

#Weblogic Module
LoadModule weblogic_module modules/mod_wl_20.so

#虚拟主机代理weblogic

ServerName
DocumentRoot /usr/local/src/deploy/www/WebRoot
DirectoryIndex index.jsp
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/%y_%m_%

d.testcomaccess.log 86400 480" common

WebLogicHost 130.0.0.190
WebLogicPort 7001
#有集群的加上下面这句:
#WebLogicCluster 130.0.0.190:7001,130.0.0.246:7001
MatchExpression *.jsp
MatchExpression *.do


11、配置完毕后重启apache即可。
#cd /usr/local/apache/bin
#./apachectl start

******************************************************************************************

*********

三、weblogic安装配置

1、添加weblogic用户组和帐号
groupadd -g 600 bea
useradd -d /weblogic -g 600 weblogic

2、设定用户密码:
passwd weblogic
输入密码:weblogic
重复输入:weblogic


3、weblogic帐号登陆操作
su - weblogic


4、设置环境变量,在/etc/profile文件最后加入:
#set java environment
JAVA_HOME=/weblogic/jdk150_04
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

重启。如果要使得计时生效,使用 source 命令
source .bashrc

输入以下参数查看环境变量是否正确:
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH


5、赋予安装文件的可执行权限:
.jar方式:
chmod a+x server920_generic.jar
.bin方式:
chmod a+x server920_linux32.bin


6、安装weblogic
.jar方式:
java -jar server920_generic.jar -mode=console
.bin方式:
./server920_linux32.bin -mode=console

<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Welcome:
--------

This installer will guide you through the installation of BEA Products. Type "Next" or

enter to proceed to the next prompt. If you want to change data

entered previously, type "Previous". You may quit the installer at any time by typing

"Exit".

Enter [Exit][Next]>

回车。


<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

BEA Systems License Agreement:
------------------------------

BEA SYSTEMS, INC. SOFTWARE LICENSE AGREEMENT

USE OF SOFTWARE ORDERED FROM BEA SYSTEMS, INC. ("BEA") IS PROVIDED ONLY UNDER LICENSE FROM

BEA. PLEASE READ THE FOLLOWING LICENSE
CAREFULLY AND INDICATE YOUR ACCEPTANCE BY CLICKING THE ACCEPTANCE BOX. CERTAIN CAPITALIZED

TERMS ARE DEFINED IN SECTION 11.
       
1. LICENSE TERMS

a. WebLogic SDK Use. The terms of this Section 1(a) are applicable to you if you have

registered as a WebLogic SDK customer.
Subject to the terms of this Agreement, BEA grants to you a non-exclusive, non-

transferable, royalty-free license to use WebLogic
SDK solely for Development Use and Scale-Limited Personal Use for the number of users

and/or developers and the number of CPU's,
Servers and/or at the Sites, as specified at the time of registration. Third party

software products or modules supplied by BEA, if any, may be used solely

with the Software. All rights not specifically granted to you herein are retained by BEA.

b. WebLogic SDK Pro Use. The terms of this Section 1(b) are applicable to you if you have

registered as a WebLogic SDK Pro
customer. Subject to the terms of this Agreement, BEA grants to you a non-exclusive, non-

transferable, fee-bearing license to use
WebLogic SDK Pro solely for Development Use and Scale-Limited Commercial Use for the

number of users and/or developers and the
number of CPU's, Servers and/or at the Sites, as specified on BEA's invoice. Third party

software products or modules supplied by
BEA, if any, may be used solely with the Software. All rights not specifically granted to

you herein are retained by BEA.

c. Evaluation Use. The terms of this Section 1(c) are applicable to you if you have

registered as an Evaluation Use customer.
Subject to the terms of this Agreement, BEA grants to you a non-exclusive, non-

transferable, license to use the Software solely for Evaluation Use. Third

party software products or modules supplied by BEA, if any, may be used solely with the

Software, and may be
subject to your acceptance of terms and conditions provided by such third parties. This

license begins upon downloading and ends if and when terminated by

BEA in accordance with this Agreement. When the license terminates you must stop using the

Software. All
rights not specifically granted to you herein are retained by BEA. Note that not all

Software is available for Evaluation Use.

Use above value or select another option:
    1 - Yes, I agree with the terms of the license
    2 - No, I do not agree with the terms of the license

Enter option number to select OR [Down][Exit][Previous]> 1

输入:1
回车。

<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Choose BEA Home Directory:
--------------------------

    "BEA Home" = [Enter new value or use default "/weblogic/bea"]


Enter new BEA Home OR [Exit][Previous][Next]>

确认weblogic目录,回车。

<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Choose Install Type:
--------------------

Select the type of installation you wish to perform.

->1|Complete
    | Install the following software components and examples:
    | - WebLogic Server
    | - Workshop for WebLogic Platform

   2|Custom
    | Choose software components to install and perform optional configuration.


Enter index number to select OR [Exit][Previous][Next]> 2

选择weblogic安装类型,输入2,回车。


<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Choose Components to install:
-----------------------------

    Release 9.2.0.0
    |_____WebLogic Server [1] x
    |    |_____Server [1.1] x
    |    |_____Server Examples [1.2] x
    |    |_____Web Server Plug-Ins [1.3]
    |_____Workshop for WebLogic Platform [2] x
         |_____Workshop [2.1] x
         |_____Workshop Examples [2.2] x

Enter number exactly as it appears in brackets to toggle selection OR [Exit][Previous]

[Next]> 1

选择所需weblogic安装的组件,这里只需要安装weblogic server即可。


<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Choose Product Installation Directories:
----------------------------------------

BEA Home Directory: [/weblogic/bea]

Product Installation Directories:


    "Default Product Home" = [Enter new value or use default "/weblogic/bea/weblogic92"]


Enter new Default Product Home OR [Exit][Previous][Next]>

确认weblogic目录,回车。

<-------------------------------------------------- BEA Installer - BEA Products --------

----------------------------------------->

Installing files..

0%          25%          50%          75%          100%
[------------|------------|------------|------------]
[***************************************************]

Installation Complete


7、配置weblogic域
cd /weblogic/bea/weblogic92/common/bin
./config.sh

<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Welcome:
--------

Choose between creating and extending a domain. Based on your selection, the Configuration

Wizard guides you through the steps
to generate a new or extend an existing domain.

->1|Create a new WebLogic domain
    |    Create a WebLogic domain in your projects directory.

   2|Extend an existing WebLogic domain
    |    Extend an existing WebLogic domain. Use this option to add applications and

services, or to override existing database
    |access (JDBC) and messaging (JMS) settings. You can also incorporate additional

functionality in your domain, for example, by
    |including AquaLogic Service Bus.


Enter index number to select OR [Exit][Next]> 1

选择weblogic建域的类型,这里选择1


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Application Template Selection:
-------------------------------

    Available Templates
    |_____WebLogic Server (Required)x


Enter number exactly as it appears in brackets to toggle selection OR [Exit][Previous]

[Next]>

这里选择webloigc的组件,回车。


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Configure Administrator Username and Password:
----------------------------------------------

Create a user to be assigned to the Administrator role. This user is the default

administrator used to start development mode
servers.

    |          Name           |                  Value                  |
   _|_________________________|_________________________________________|
   1|       *User name:       |                weblogic                 |
   2|     *User password:     |                                         |
   3| *Confirm user password: |                                         |
   4|      Description:       | This user is the default administrator. |

Use above value or select another option:
    1 - Modify "User name"
    2 - Modify "User password"
    3 - Modify "Confirm user password"
    4 - Modify "Description"

Enter option number to select OR [Exit][Previous][Next]>


这里填写weblogic的用户信息,输入2,填写密码,输入3,确认用户密码,回车。


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Domain Mode Configuration:
--------------------------

Enable Development or Production Mode for this domain.

->1|Development Mode

   2|Production Mode


选择域的模式,1为开发调试模式,2为产品模式。


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Java SDK Selection:
-------------------

->1|Sun SDK 1.5.0_04 @ /weblogic/jdk150_04
   2|Other Java SDK

Enter index number to select OR [Exit][Previous][Next]>


weblogic的jdk选择,这里默认为1,回车。


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Choose Configuration Option:
----------------------------

    *Do you want to modify any of the preconfigured settings or defaults in your template?
    *
    *To keep the default or template settings, and proceed directly to name and create

your domain, leave No selected.

   1|Yes

->2|No

Enter index number to select OR [Exit][Previous][Next]>


是否需要修改参数,默认no,回车。

<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Select the target domain directory for this domain:
---------------------------------------------------

    "Target Location" = [Enter new value or use default

"/weblogic/bea/user_projects/domains"]


Enter new Target Location OR [Exit][Previous][Next]>


确认输入信息,回车。


<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Edit Domain Information:
------------------------

    | Name |    Value    |
   _|________|_____________|
   1| *Name: | base_domain |


Enter value for "Name" OR [Exit][Previous][Next]>

域名称的更改,默认即可。

<----------------------------------------------- BEA WebLogic Configuration Wizard ------

----------------------------------------->

Creating Domain...

0%          25%          50%          75%          100%
[------------|------------|------------|------------]
[***************************************************]


**** Domain Created Successfully! ****


提示成功信息,域安装完毕。

8、设置WebLogic Server自启动.
以root用户登陆:
vi /etc/rc.d/rc.local
添加:
su - weblogic -c "/weblogic/bea/user_projects/mydomain/startWebLogic.sh 2>&1> /dev/null &"


9、部署应用
打包WAR:
jar cvf myhome.war *.*/ .
*.*/ 代表当前目录(C:\myHome)下的所有文件及文件夹。
. 表明将要在当前目录中生成war包。
操作完成后,找到C:\myHome下新生成的myhome.war,部署应用即可。


10、产品模式的自启动
从SP2起就将用户名密码默认在里面了,不需要输入。

修改配置文件:
需要自动加载用户名和密码,在startWebLogic.sh启动文件中,在启动服务的命令行(接近文件尾部,

以 weblogic.Server结束的那行)中在
-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%前面加入
-Dweblogic.management.username=%WLS_USER% -Dweblogic.management.password=%WLS_PW%
在设置WLS_PW时要注意,如果有特殊字符,请将整个密码用双引号引起,否则通不过。

另一方式:
发布的时候用开发模式发布,然后修改startweblogic.sh的production_mode为true,这样就不需要输入

密码了.

文件方式:
在WebLogic启动脚本相同目录下创建一个密码存储文件:
文件名:boot.properties
文件内容:
username=你的WebLogic的启动用户
password=你的WebLogic的启动密码

再次启动WebLogic就不需要密码了,用户名和密码被WebLogic加密后重新保存。


二、weblogic调优:

1、内存调优
weblogic9.2版本,在启动文件startWebLogic.sh中,在${JAVA_HOME}/bin/java ${JAVA_VM} -version

后面添加:

# Add
MEM_ARGS="-Xms1024m -Xmx1264m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"

重启后,即可完成weblogic内存调整。

2、调整连接参数
WebLogic Server用Accept Backlog参数规定服务器向操作系统请求的队列大小,默认值为50。
当系统重载负荷时,这个值可能过小,日志中报Connection Refused,导致有效连接请求遭到拒绝,此时可

以提高Accept Backlog 25%直到连接拒绝错误消失。


3、调整连接池配置
    JDBC Connection Pool的调优受制于WebLogic Server线程数的设置和数据库进程数,游标的大小。

通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两

边的资源消耗,建议设置连接池的最大值等于或者略小于线程数。同时为了减少新建连接的开销,将最

小值和最大值设为一致。
  增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮助,WebLogic能

够为每一个连接缓存这些对象,此值默认为10。在保证数据库游标大小足够的

前提下,可以根据需要提高Statement Cache Size。比如当你设置连接数为25,Cache Size为10时,数据

库可能需要打开25*10=250个游标。不幸的是,当遇到与PreparedStatement

Cache有关的应用程序错误时,你需要将Cache Size设置为0。
  尽管JDBC Connection Pool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不

需调整。这里建议最好不要设置测试表, 同时Test Reserved Connections和

Test Released Connections也无需勾上。 当然如果你的数据库不稳定,时断时续,你就可能需要上述的

参数打开。
  最后提一下驱动程序类型的选择,以Oracle为例,Oracle提供thin驱动和oci驱动,从性能上来讲,oci

驱动强于thin驱动,特别是大数据量的操作。但在简单的数据库操作中,性能

相差不大,随着thin驱动的不断改进,这一弱势将得到弥补。而thin驱动的移植性明显强于oci驱动。所

以在通常情况下建议使用thin驱动。而最新驱动器由于WebLogic server/bin

目录下的类包可能不是最新的,请以Oracle网站为准:


4、LINUX操作系统参数调整
    调整Linux系统使用sysctl命令修改TCP参数等待时间间隔:sysctl -w

ip_ct_tcp_timeout_time_wait=60;调整打开文件的最大数:在/etc/sysctl.conf文件中,添加:

Fs.file

-max=65535,然后运行sysctl -p;调整打开文件描述符最大数为8192:在/etc/security/limits.conf文

件,添加:WebLogic hard nofile 8192(仅针对WebLogic用户),然后在

WebLogic启动文件里运行ulimit-n 8192激活设置。

阅读(2491) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~