Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57298
  • 博文数量: 14
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 10:33
文章分类

全部博文(14)

文章存档

2011年(5)

2006年(9)

我的朋友

分类: 系统运维

2006-03-30 15:01:36

MySQL安装步骤:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --disable-shared
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf

测试mysql是否成功:
1.shell> cd /usr/local/mysql/share/mysql
2.shell> ./mysql.server start
3.shell> top
4.shell> /usr/local/mysql/bin/mysql
5.shell> mysql> show databases;
(看到测试表即表示成功!)
6.shell> mysql> exit

自动运行MySQL

在MySQL二进制包里面,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面:
  
# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql
接着把它的属性改为“x”(executable,可执行)
# chmod +x mysql
最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql


[安裝 freetds] 用于sybase链接   (主要是用于连接考试中心的sybase数据库)
1 ./configure --prefix=/usr/local/freetds --with-tdsver=4.2 --enable-dbmfix
2 make
3 make install
4 修改/etc/profile:
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib
  export LD_LIBRARY_PATH
  SYBASE=/usr/local/freetds
  export SYBASE

APACHE2 和 PHP:

【安装apache】
5. cd http-VERSION
6.  CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --enable-mods-shared=all --enable-so --enable-rewrite=shared --enable-cache=shared --enable-disk_cache=shared --enable-proxy=shared --enable-proxy_connect=shared --enable-proxy_ftp=shared --enable-proxy_http=shared --enable-file_cache=shared --prefix=/usr/local/apache2
7.  make
8.  make install
   
    现在您已经将 Apache 2.0.NN 安装在 /usr/local/apache2。本安装支持可装载模块
    和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
    /usr/local/apache2/bin/apachectl start
    如果成功,您可以停止 Apache 服务器并继续安装 PHP:
    /usr/local/apache2/bin/apachectl stop.

【安装php】
9.  cd ../php4-NN
    从4.0.5开始,php的mail函数加入了第五个参数,但它没有好好过滤,使得php
    应用程序能突破safe_mode的限制而去执行命令。所以使用4.0.5和4.0.6的时候
    在编译前我们需要修改php源码包里
    ext/standard/mail.c文件,禁止mail函数的第五参数或过滤shell字符。在mail.c
    文件的第152行,也就是下面这行:
    if (extra_cmd != NULL) {
    后面加上extra_cmd=NULL;或extra_cmd = php_escape_shell_cmd(extra_cmd);
    然后编译php,那么我们就修补了这个漏洞。

10. 现在我们需要配置 PHP。在这里您可以用各种各样的参数来自定义PHP,例如启动哪
    些扩展功能包的支持等。用 ./configure --help 命令可以列出当前可用的所有参
    数。在我们的例子中,我们将给出一个在有 MySQL 支持的 Apache 2 上进行配置的
    范例。您本地的 apxs 的路径可能会不同,事实上,在您的系统中,它可能被命名为
    apxs2。
    【基本参数】
    ./configure --prefix=/usr/local/php4 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib/ --with-zlib-dir=/usr/lib
    【如果需要sybase支持,在后加上一下参数】
    --with-sybase-ct=/usr/local/freetds
    【如果需要jdk支持】
    --with-java=/usr/java/j2sdk1.4.2

11. make
12. make install

    如果您决定在安装后改变配置选项,您只需重复最后的三步,然后需要重新启动
    Apache 使新模块生效。无需重新编译。

    请注意,除非明确有提示,否则 'make install' 命令将安装 PEAR、各种 PHP 工具
    诸如 phpize,安装 PHP CLI 等等。

13. 配置 php.ini

    cp php.ini-dist /usr/local/lib/php.ini

15. 编辑 httpd.conf 文件以调用 PHP 模块。LoadMolude 表达式右边的路径必须指向您
    系统中的 PHP。以上的 make install 命令可能已经帮您完成了这些,但务必要检查。

    对于 PHP 4:
       LoadModule php4_module modules/libphp4.so

    对于 PHP 5:
       LoadModule php5_module modules/libphp5.so

    AddType application/x-httpd-php .php .phtml

    通常,我们还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以这样来完成:

    AddType application/x-httpd-php-source .phps

16. 【如果需要jdk支持,否则无需执行这步】
    编辑/usr/local/apache2/bin/apachect1
    在ARGV="$@"下加入:
    export LD_LIBRARY_PATH=/usr/local/j2sdk1.4.2/jre/lib/i386:/usr/local/j2sdk1.4.2/jre/lib/i386/server

17. 启动您的 Apache 服务器:
   /usr/local/apache2/bin/apachectl start

【安装java】
建议下载RPM自解压格式的(RPM in self-extracting file,jdk-1_5_0_02-linux-i586-rpm.bin);
Step 2: 上载到Linux服务器上,在shell下执行命令:
[root@LinuxServer rpm]# chmod 755 jdk-1_5_0_02-linux-i586-rpm.bin
[root@LinuxServer rpm]# ./jdk-1_5_0_02-linux-i586-rpm.bin
这时会有一段Sun的协议,敲几次空格键,当询问是否同意的时候,敲yes就可以了。
Sun Microsystems, Inc.
Binary Code License Agreement
for the
JAVATM 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD
EDITION, VERSION 1.5.0.02...
Do you agree to the above license terms? [yes or no]yes
Unpacking...
Checksumming...
0
0
Extracting...
UnZipSFX 5.40 of 28 November 1998, by Info-ZIP ().
inflating: jdk-1_5_0_02-linux-i586-rpm
Done.


注: 如果直接执行unzip命令来解压也是可以的,总之得到一个rpm软件包.
Step 3: 程序会自动生成一个jdk-1_5_0_02-linux-i586-rpm文件,这是主程序包,下面来安装;
[root@LinuxServer rpm]#rpm -ivh jdk-1_5_0_02-linux-i586-rpm
Preparing... ########################################### [100%]
1:j2sdk ########################################### [100%]


【安装tomcat】
18. 解压tomcat在相应的目录,这里解压是在/usr/local/tomcat-5.0.28
 
    修改/etc/profile
    PATH="$PATH:/usr/local/tomcat-5.0.28/bin:/usr/java/jdk1.5.0_02/bin:/usr/java/jdk1.5.0_02/jre/bin"
    JAVA_HOME=/usr/java/jdk1.5.0_02
    export JAVA_HOME
    JRE_HOME=/usr/java/jdk1.5.0_02/jre
    export JRE_HOME
    TOMCAT_HOME=/usr/local/tomcat-5.0.28
    export TOMCAT_HOME
    CLASSPATH=/usr/java/jdk1.5.0_02/lib:/usr/java/jdk1.5.0_02/jre/lib
    export CLASSPATH
    export CATALINA_HOME=/usr/local/tomcat-5.0.28
    export CATALINA_BASE=/usr/local/tomcat-5.0.28
    保存退出,重启服务器即可!
   
 Tomcat安装目录下的bin目录有两个脚本分别用来启动和停止Tomcat,分别是startup.sh, shutdown.sh,你可以用这两个脚本来手工启动和停止Tomcat服务并进行安装后的测试。

 我们最简单的方法就是通过startup.sh来自动启动Tomcat,编辑/etc/rc.d/rc.local 增加内容(假设JDK目录是/usr/jdk,Tomcat目录是/usr/local/tomcat)

export JDK_HOME=/usr/java/jdk1.5.0_02
export JAVA_HOME=/usr/java/jdk1.5.0_02
/usr/local/tomcat-5.0.28/bin/startup.sh
 

 这样在系统重启后就可以自动启动Tomcat

 

19.apache与tomcat整合

 1. 下载模块
 #cp mod_jk2-2.0.43.so /usr/local/apache2/modules/mod_jk2.so (记得把文件名改为 mod_jk2.so)
 #chmod 755 mod_jk2.so
 
 2. 增加模块
 编辑 /usr/local/apache2/conf/httpd.conf
 加上LoadModule jk2_module modules/mod_jk2.so
 
 3. 下载一个workers2.properties
 
 cp workers2.properties /usr/local/apache2/conf/
 
 4. 修改/usr/local/tomcat-5.0.28/conf/jk2.properties
 -----------------------------------------------------------
 #---- jk2.properties
 channelSocket.port=8009              
 shm.file=${jkHome}/work/jk2.shm
 apr.jniModeSo=/usr/local/apache2/modules/mod_jk2.so
 -----------------------------------------------------------
 ****端口是8009,因为在那个文件里默认的是8019,记得改过来

        5. 修改/usr/local/apache2/conf/httpd.conf

        DocumentRoot "/var/www/html"

 
 Options None
 AllowOverride None
 Order deny,Allow
 Allow from all
 

 
 Options Includes FollowSymLinks
 AllowOverride None
 Order deny,allow
 Allow from all
 XBitHack on
 

 DirectoryIndex index.htm index.jsp index.html

 
 Deny from all
 

 6. 创建/usr/local/apache2/conf/workers2.properties,内容如下:
 [logger]
 level=ERROR

 [config:]
 file=/usr/local/apache2/conf/workers2.properties
 debug=0
 debugEnv=0

 # Alternate file logger
 [logger.file]
 #level=DEBUG
 level=ERROR
 file=/var/log/httpd/jk2.log

 [shm:]
 info=Scoreboard. Required for reconfiguration and status with multiprocess servers
 file=/var/log/httpd/jk2.shm
 size=1048576
 debug=0
 disabled=0

 [channel.socket:localhost:8009]
 info=Ajp13 forwarding over socket
 debug=0
 tomcatId=localhost:8009
 keepalive=1

 [ajp13:localhost:8009]
 channel=channel.socket:localhost:8009
 debug=0

 [status:]
 info=Status worker, displays runtime informations

 [uri:/jkstatus/*]
 info=Display status information and checks the config file for changes.
 worker=ajp13:localhost:8009

        关键是这里的设置,请注意!
 [uri:/*.jsp]
 worker=ajp13:localhost:8009
 context=/


 启动apache,启动tomcat,all ok

 20、apache优化,修改/usr/local/apache2/conf/httpd.conf
       
 StartServers         10
 MinSpareServers      10
 MaxSpareServers      15
 ServerLimit          2000
 MaxClients           1500
 MaxRequestsPerChild  1000
 


 
 StartServers          10
 MaxClients            1500
 ServerLimit           2000
 MinSpareThreads       50
 MaxSpareThreads       200
 ThreadLimit           200
 ThreadsPerChild       100
 MaxRequestsPerChild   100


 

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