Chinaunix首页 | 论坛 | 博客
  • 博客访问: 200446
  • 博文数量: 43
  • 博客积分: 2178
  • 博客等级: 大尉
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:19
文章分类

全部博文(43)

文章存档

2012年(23)

2011年(10)

2009年(10)

分类: LINUX

2009-06-15 13:45:37

 
琢磨linux有一阵子了,但是了解甚少,有时候甚至是无从下手。 最近研究网上的大虾们的WEB配置,自己总结出一下配置。
配置环境,就要从服务器本身开始, 首先就是安装好linux 我用的是open suse
1,安装Linux
作为服务器在安装组件的时候,应该取消掉不用的组件,只要用不上的全X掉。基本是除了FTP SERVER 外全部取消,WEB组建也取消, 因为这里需要编译安装。
2,配置Linux 部署以及调整配置
# more /var/log/messages //检查有无系统内核级错误信息
# dmesg //检查硬件设备是否有错误信息
# ifconfig //查看网卡设置是否正常
# ping url //查看网络连接是否正常
# export LANG='en_US' //设置语言
更新系统
定时纠正服务器时间
ntp 是一种确保您的时钟保持准确的方法。一般系统默认都安装了NTP服务
# crontab -e
0 1 * * * /usr/sbin/ntpdate 210.72.145.44
保存退出,
/sbin/service crond reload
重载计划任务配置
服务器将在每天的1点 根据国家授时中心 NTP 进行自动校验时间
ftp服务器配置
//系统自带(暂时不考虑)

3,安装 mysql apache php Zend Optimizer等基本环境
Apache 日志截断程序
# cd /usr/files/
# wget
# tar zxvf cronolog-1.7.0-beta.tar.gz
# cd  cronolog-1.7.0-beta
# ./configure –prefix=/usr/local/cronolog
# make
# make install

编译mysql
# cd /usr/files/
# wget
//5.0.50 是企业版本 相对与社区版本更加稳定些
# xzvf mysql-5.0.50.tar.gz
# cd mysql-5.0.50
修改mysql 客户端最大连接数, 默认的只有100,远远达不到我们的要求。
# vi sql/mysqld.cc
{"max_connections", OPT_MAX_CONNECTIONS,"The number of simultaneous                 clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100*这里改成                        1000*, 1, 16384, 0, 1,0},
       
               
        # ./configure --prefix=/usr/local/mysql --enable-shared --enable-fast-install --enable-assembler --with-charset=utf8 --with-mysqld-user=root --with-big-tables --with-collation=utf8_general_ci --with-extra-charsets=gbk,latin1 --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --without-ndb-debug --without-isam --enable-local-infile
# make && make install

make and make install 编译时间都比较长。

编译完毕的后续安装
# useradd mysql 添加mysql 用户
# cd /usr/local/mysql //进入MYSQL目录
# ./bin/mysql_install_db –user=mysql //安装数据库
# chown -R root:mysql . //设置权限
# chown -R mysql /var/lib/mysql //设置mysql 目录权限
# chgrp -R mysql .
# cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld
//开机自动启动 mysql。
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld //添加服务

# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf && ldconfig
# vi /etc/my.cnf //配置mysql 增加部分优化
[mysqld]
ft_min_word_len = 2
保存退出
#/etc/rc.d/init.d/mysqld start //启动mysql

编译安装apache

# wget
# tar zxvf httpd-2.2.6.tar.gz

# cd httpd-2.2.6
# cd srclib/apr  //Apache可移植运行时APR是一个与Apache HTTP Server平行的独立项目
# ./configure --prefix=/usr/local/apr --enable-threads --enable-other-child                 --enable-static
# make && make install
# cd ../apr-util
# ./configure –-prefix=/usr/local/apr-util –with-apr=/usr/local/apr –with-                 mysql=/usr/local/mysql
        # make && make install
       
        编译apache
        # ./configure –prefix=/usr/local/apache –with-mysql=/usr/local.mysql –with-         apr=/usr/local/apr –with-apr-util=/usr/local/apt-util –enable-module=so –         enable-mods-shared=all –-enable-cache –-enable-file-cache –enable-mem-cache         –enable-disk-cache –-enable-static-support –enable-static-htpasswd –enable-         static-rotatelogs –enable-static-htdbm –enable-static-ab –enable-static-         checkgid –disable-cgid –disable-cgi –enable-ssl



        --enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
        --enable-mods-shared=all //编译全部的模板,对于不需要我们可以在httpd.conf去掉。
        --enable-cache //支持缓存
        --enable-file-cache //支持文件缓存
        --enable-mem-cache //支持记忆缓存
        --enable-disk-cache //支持磁盘缓存
        --enable-static-support //支持静态连接(默认为动态连接)
        --enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
        --enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
        --enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道                日志程序
        --enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP                地址为主机名
        --enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库
        --enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
        --enable-static-checkgid //使用静态连接编译 checkgid
        --disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
        --disable-cgi //禁止编译 CGI 版本的 PHP
        --enable-ssl // 编译 ssl模块。

        安装完毕  现在来设置APACHE 开机自动启动  
       
        方法1, #vi /etc/rc.d/rc/local 加入一行 /usr/local/apache/bin/apachectl start

        方法2, #cp /usr/local/apache/bin/apacectl /etc/rc.d/inir.d/httpd
                vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
                # chkconfig: 2345 50 90
                # description: Activates/Deactivates Apache Web Server
                最后,运行chkconfig把Apache添加到系统的启动服务组里面:
                # chkconfig --add httpd
                # chkconfig httpd on
        方法3, # echo “/usr/local/apache/bin/apachectl start” >> /etc/rc.local
       
        更改根目录 vi /usr/local/apache/conf/httpd.conf
                          DocumentRoot “/web/vanilla”
        保存重启 OVER;

       
        安装php
        # wget
        # wget
       
        首先安装GD
        gd         下载   
        (php
        图像处理需要的LIB)
        zlib      下载   
       
        (使用GD功能所需要的
        软件包)libpng-config   下载   
        (
        使用GD功能所需要的软件包)
        jpeg-6b  下载   
       
        (使用GD功能所需要的软件包,支持jpeg图片)
        freetype2下载  
       
        (使用GD功能所需要的软件包,FreeType2是一个简单的跨平台的字体绘制引擎)
        fontconfig 下载
       
        (使用GD功能所需要的软件包,fontconfig是字体库)
        openssl  下载   
       
        (apache的https协议需要的模块)
        libxml2  下载   
       
        Libxslt  下载   
       
        zend optimizer 下载   
       
        1. 安装OpenSSL
        tar zxvf openssl-0.9.8e.tar.gz
        cd openssl-0.9.8e
        ./config --prefix=/usr/local/openssl
        make
        make install
        修改(此步骤非常重要,至少对于现有的软件版本)
        vi /etc/ld.so.conf 添加一行/usr/local/openssl/lib/
        /sbin/ldconfig
        2. 安装zlib (安装libpng和gd前需要先安装zlib)
        tar zxvf zlib-1.2.3.tar.gz
        cd  zlib-1.2.3
        ./configure --prefix=/usr/local/zlib && make && make install
        3.安装libpng
        tar zxvf libpng-1.2.12.tar.gz
        cd libpng-1.2.12
        ./configure --prefix=/usr/local/libpng2 && make;make install
        4. 安装freetype
        tar zxvf freetype-2.2.1.tar.gz
        cd freetype-2.1.10
        ./configure --prefix=/usr/local/freetype2 &&make && make install
        5. 安装jpeg
        mkdir /usr/local/jpeg6
        mkdir /usr/local/jpeg6/include
        mkdir /usr/local/jpeg6/lib
        mkdir /usr/local/jpeg6/bin
        mkdir /usr/local/jpeg6/man/
        mkdir /usr/local/jpeg6/man/man1/
        tar zxvf jpegsrc.v6b.tar.gz
        cd jpeg-6b
        ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static &&         make && make test && make install
        vi /etc/ld.so.conf 加入一行:
        /usr/local/jpeg6/lib
        /sbin/ldconf
        6. 解压fontconfig源代码
        cd fontconfig-2.3.2
        ./configure --prefix=/usr/local/fontconfig --disable-docs         --        sysconfdir=/etc  --mandir=/usr/share/man && make && make install
        7. 安装gd
        tar zxvf gd-2.0.33.tar.gz
        cd gd-2.0.33
        CPPFLAGS="-I/usr/local/freetype2/include -I/usr/local/jpeg6/include         -        I/usr/local/libpng2/include -I/usr/local/fontconfig/include" ./configure         --        prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-        png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-        freetype=/usr/local/freetype2/ --with-fontconfig=/usr/local/fontconfig  
        configure的结果:
          ** Configuration summary for gd 2.0.34:
           Support for PNG library:          yes
           Support for JPEG library:         yes
                   Support for Freetype 2.x library: yes
           Support for Fontconfig library:   yes
           Support for Xpm library:          yes
           Support for pthreads:             yes
          
        make && make install
          
        8. 安装libxml2(因php5.02要求libxml2的版本是 libxml2.5.10 or greater required.)
        tar zxvf libxml2-2.6.27.tar.gz
        cd libxml2-2.6.27
        ./configure --prefix=/usr/local/libxml2 && make && make install
        9.  安装libxslt
        tar zxvf libxslt-1.1.20.tar.gz
        cd libxslt-1.1.20
        ./configure --prefix=/usr/local/libxslt –with-libxml-        prefix=/usr/local/libxml2 && make && make install


        接下来安装php了
        # tar zxvf  php-5.2.5.tar.gz
        # cd php-5.2.5
        # ./configure –prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/        usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-libxml-dir=/usr/local        /libxml –with-iconv –enable-static –with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jp        eg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-zlib-        dir=/usr/local/lib/  --with-openssl

        配置 –prefix=/usr/local/php //php安装路径
                 --with-apxs2=/usr/local/apache/bin/apxs  //apache路径
                 –with-mysql=/usr/local/mysql //mysql 路径
                 –with-mysqli=/usr/local/mysql/bin/mysql_config //配置mysqli
                 –with-libxml-dir=/usr/local/libxml //指定LIBXML
                 –with-iconv //对 iconv支持
                 –enable-static //编译成静态
                 –with-gd=/usr/local/gd2/ //指定gd
                  -with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ //jpeg png 路径
                  -with-freetype-dir=/usr/local/freetype/  //freetype Gd不可或缺元素
                  --with-zlib-dir=/usr/local/lib/
                  -with-openssl //增加对ssl 支持
                  --enable-sockets –enable-soap
        将php 于 apache 整合
        #vi /usr/local/apache/conf/httpd.conf
        在末尾加上 AddType appliaction/x-httpd.php .php
        找到 DirectoryIndex index.html  
        改成 DirectoryIndex index.php index.htm index.html
       
        找到     #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
   #AllowOverride None
    将 AllowOverride None     改为 All

        # /usr/local/apache/bin/apachectl restart //重启apache
       

        安装 Zend Optimizer
        # tar xzvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
        # ./ZendOptimizer-3.3.0-linux-glibc21-i386/install.sh
        根据提示照着来就行了。,


        安装memcached
        # wget
        # tar zxvf libevent-1.3e.tar.gz
        # cd libevent-1.3e
        # ./configure --prefix=/usr/local && make && make install
        # echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig
       
        # wget
        # tar zxvf memcached-1.2.3.tar.gz
        # cd memcached-1.2.3
        # ./configure --prefix=/usr/local/memcached –with-libevent=/usr/local
        # make && make install
       
        安装php对memcache支持模块
        # wget
        # tar zxvf memcache-2.2.0.tgz
        # cd memcache-2.2.0
        # export PHP_PREFIX=/usr/local/php
        # $PHP_PREFIX/bin/phpize
        # ./configure --enable-memcache --with-zlib-dir --with-php-config=$PHP_PREFIX/bin/php-config
        # make && make install
        //最后一样会出现/usr/local/php/lib/php/extensions/no-debug-zts-20060613/   复制备用
        修改php.ini
        在最末尾增加一行:
        extension="/usr/local/php/lib/php/extensions/no-debug-zts-20060613/memcache.so"
        进入memcache目录
        运行以下命令来启动 memcached:
        # /usr/local/memcached/bin/memcached -l localhost -d -p 11211 -u vanilla -m 128
        top -U vanilla
可以看到
5867 vanilla 15 0 2352 684 276 S 0.0 0.1 0:00.00 memcached
        设置成开机自动运行
        在 /etc/rc.d/rc.local 中加入
        /usr/local/memcached/bin/memcached -l localhost -d -p 11211 -u vanilla -m 128
        重启apache 打开 phpini.php 查看是否加入memchache
        --!没加入的话。。。。    就用这种方法
        将prar静态编译到php 将其放到/phpinstallfile(PHP安装文件) ./etc 下
        将memcache-2.2.0 拷贝到./etc下
        # mv ./memcache-2.2.0 ./memcache
        将产生/phpinstallfile/etc/memcache 目录
        # cd ../
        # rm ./configure   //删除配置文件
        # ./buildconf –force //生成配置脚本
        # ./configure --help | grep extname //查看是否用 --enable-extname 或 --with-extname
        # ./configure  (--with-memcache 或者 –enable-extname ) --enable-someotherext –with-foobar –其余配置文件 同前面php配置文件
阅读(1717) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:mod_python中文文档

给主人留下些什么吧!~~