琢磨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) |