部署lamp環境

 在一臺機器上部署lamp環境

系統:
CentOS 5.6 x86_64
建議:將apache和mysql放在不同的機器上
調整apache的IO算法爲:anticipatory
echo "anticipatory" > /sys/block/sda/queue/scheduler 
調整mysql的IO算法爲:deadline
echo "deadline" > /sys/block/sda/queue/scheduler
 
調優是一門“黑色藝術”需要有一定的工作經驗。
 
分區規劃:
將主要的業務,和使用頻繁的數據單分目錄,根據公司的具體應用。
/boot
/weibo   存放站點文件,取消atime時間
mount -o remount,noatime /weibo
/mysql   存放數據庫文件
/var     用於存放日誌文件,當站點訪問人過多時,日誌會很大。
/swap
/
 
1.安裝apache Server
wget http://labs.mop.com/apache-mirror//httpd/httpd-2.2.23.tar.gz
 
tar xf httpd-2.2.23.tar.gz
./configure --prefix=/weibo --with-mpm=prefork --enable-cache \
--enable-disk-cache --enable-mem-cache --enable-file-cache \
--enable-nonportable-atormics --enable-mods-shared=most --enable-so
make
make install
 
默認安裝的位置
/usr/local/apache2
使用--prefix=/weibo 安裝到指定的目錄
 
useradd -M apache -s /sbin/nologin
安裝完成後修改apache的配置文件,將用戶和組改爲 apache
chown apache.apache -R /weibo
 
啓動apache
/weibo/bin/apachectl -k start
 
使用netstat -ant |grep 80 查看端口是否啓動成功
關閉apache
/weibo/bin/apachectl -k stop
 
編寫啓動腳本,讓apache支持service 命令啓動
cd /etc/init.d
vim httpd
#!/bin/bash
APACHE=/weibo/bin/apachectl
start() {
        $APACHE -k start
}
stop() {
        $APACHE -k stop
}
restart() {
        $APACHE -k restart
}
case $1 in
start)
        start;;
stop)
        stop;;
restart)
        restart;;
*)
        echo "start|stop|restart"
        ;;
esac
chmod +x /etc/init.d/httpd
2.mysql環境的安裝
wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.17.tar.gz
 
useradd -M  mysql -s /sbin/nologin
yum install -y cmake-2.6.4-5.el5.4.x86_64.rpm
tar xf mysql-5.5.17.tar.gz
cd mysql-5.5.17
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/mysql \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=OFF
make && make install
 
將mysql的lib文件加載到系統變量中
vim /etc/ld.so.conf
/usr/local/mysql/lib/mysql
查看是否被加載
ldconfig -v | grep mysql
 
修改mysql目錄的權限 
chown -R mysql.mysql /usr/local/mysql/
chown -R mysql.mysql /mysql/
 
建立配置文件
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
 
修改配置文件,指定數據庫存放的目錄
vi /etc/my.cnf
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
datadir         = /mysql
#thread_concurrency = 8
 
注:要將這行註釋: #thread_concurrency = 8,否則會報如下錯誤
120712 12:20:22 [ERROR] /usr/local/mysql/libexec/mysqld: unknown variable 'thread_concurrency=8'
 
初始化mysql數據庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysql
 
使用service mysqld start方式管理mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
 
如果當前系統只有一個你手動安裝的mysql,爲方便使用可以這麼做
ln -s /usr/local/mysql/bin/*  /usr/local/bin
ln -s /usr/local/mysql/libexec/*  /usr/local/libexec
 
開機自動啓動
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list | grep mysqld
 
測試
netstat -tunlp | grep 3306
mysql -e "show databases"
 
 
3.安裝libiconv-1.14.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
cd libiconv
 
./configure --prefix=/usr/local
make
make install
 
4.安裝libmcrypt-2.5.8.tar.gz
wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz 
tar xf libmcrypt-2.5.8.tar.gz
cd libmcrypt
 
./configure 
make
make install
 
更新函數庫,讓你新安裝的庫起作用
/sbin/ldconfig
cd 到當前的(libmcrypt下)libltdl
cd libltdl
 
./configure --enable-ltdl-install
make
make install 
 
 
5.安裝 mhash-0.9.9.9.tar.gz
wget http://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2
tar xf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure 
make
make install 
 
建立鏈接
ln -s /usr/local/lib/* /usr/lib64/
 
6.安裝mcrypt-2.6.8
wget http://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar fvxz mcrypt-2.6.8.tar.gz 
cd mcrypt-2.6.8
/sbin/ldconfig 
 
./configure 
make 
make install
 
7.安裝PHP
安裝PHP前的環境準備
yum install libxml2-devel curl-devel libpng-devel freetype-devel libjpeg-devel -y 
wget http://cn2.php.net/distributions/php-5.4.8.tar.gz
 
注:如果apache、mysql等安裝在不同目錄,一定要指定正確,PHP編譯安裝過程有點長。
 
ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/
不鏈接會報錯:make: *** [ext/phar/phar.php] Error 127
tar xf php-5.4.8.tar.gz
cd php-5.4.8
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-apxs2=/weibo/bin/apxs --with-iconv-dir=/usr/local/ --with-freetype-dir \
--with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml \
--disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \
--enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex \
--enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf 
 
make ZEND_EXTRA_LIBS='-liconv' && make install
 
查看模塊是否被安裝
ls -l /weibo/modules/ |grep php
 
修改apache的配置文件
 AddType application/x-httpd-php .php
<IfModule dir_module>
   DirectoryIndex index.html index.php
</IfModule>
 
注意php不是一個服務,如果安裝正確啓動apache的時候會被加載。
 
重新啓動apache
service httpd restart
 
編寫測試頁
vim /weibo/htdocs/index.php
<?php
phpinfo(); 
?>
 
8.將PHP站點程序放入/weibo/htdocs目錄下即可
 
9.可安裝PHP優化程序
Zend Optimizer
注:目前最高版本爲3.3.9只支持PHP5.2以前的版本,所以要想使用請安裝PHP5.2版本
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章