以下 服務版本號
PHP 5.3
APACHE 2.2
mysql 5.1
1. 安裝mysql
cd /usr/local/src/
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
(有可能出現DNS解析不到的問題)
tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
解壓縮
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
移動、改名字
useradd -s /sbin/nologin mysql
創建mysql 用戶
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
初始化
mkdir -p /data/mysql
創建data 數據
chown -R mysql:mysql /data/mysql
cp support-files/my-large.cnf /etc/my.cnf
複製配置文件
vim /etc/my.cnf
修改
cp support-files/mysql.server /etc/init.d/mysqld
複製datadir 啓動文件
chmod 755 /etc/init.d/mysqld
權限
vim /etc/init.d/mysqld
修改datadir
basedir=/usr/local/mysql
datadir=/data/mysql
chkconfig --add mysqld
chkconfig mysqld on 啓用
service mysqld start
/usr/local/mysql/bin/mysql 來使用 mysql
**** /data/mysql/"hostname".err 錯誤日誌 很重要,MYSQL 啓動不了 就看它
2. 安裝apache
工作模式 : 區別?
apache 2.2 2.0 默認是 prefork 2.4 是event 其他worker
prefork 使用的是子進程, 使用內存多
worker 既有進程也有線程 使用內存少,併發高
event worker 升級版
進程和線程的區別?
進程相互獨立,每個或多個互相不受影響
線程 相互共享進程資源。
wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
tar zvxf httpd-2.2.16.tar.gz
cd httpd-2.2.16
yum install -y gcc 安裝 gcc
./configure --prefix=/usr/local/apache2 --with-included-apr --with-pcre --enable-mods-shared=most
make && make install
/usr/local/apache2/bin/apachectl start
啓動APACHE
如果 報錯 httpd: Could not reliably determine the server's fully qualified domain name, usi
需要修改 APACHE 文件 /usr/local/apache2/conf/httpd.conf
#ServerName 改掉 ServerName localhost:80
【如何指定使用worker/prefork】 http://www.lishiming.net/thread-944-1-1.html
【apache兩種工作模式】http://www.lishiming.net/thread-838-1-2.html
3. 安裝php
wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
tar zxf php-5.3.28.tar.gz
cd php-5.3.28
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
安裝關鍵字:"libxml2-devel.i686 openssl-devel.i686
bzip2-devel.i686 libjpeg-devel libpng-devel.i686
freetype-devel.i686 mcrypt(查不到,需要查找源)
libmcrypt-devel.i686 "
rpm -ivh 'http://'
centos5 32位epel源下載地址: www.lishiming.net/data/attachment/forum/epel-release-5-4_32.noarch.rpm
64位下載地址: www.lishiming.net/data/attachment/forum/epel-release-5-4_64.noarch.rpm
centos6
32位epel yum源下載地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
64位下載地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm
make && make install
/usr/local/php/bin/php -i |less 查看配置文件路徑、版本等
/usr/local/php/bin/php -m 查看PHP加載的模塊信息
-v 看版本
cp php.ini-production /usr/local/php/etc/php.ini
拷貝文件
/usr/local/apache2/bin/apachectl start
啓動 apache
/usr/local/apache2/bin/apachectl -t
查看是否能啓動 最後爲OK (修改配置後就查看情況)
4. 配置apache結合php
vim /usr/local/apache2/conf/httpd.conf
找到:
AddType application/x-gzip .gz .tgz
在該行下面添加:
AddType application/x-httpd-php .php
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
將該行改爲:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改爲:
ServerName localhost:80
5. 測試解析php
vim /usr/local/apache2/htdocs/1.php
寫入:
<?php
echo "php解析正常";
?>
保存後,繼續測試:
curl localhost/1.php
如果 curl 能解析出來 瀏覽器裏面 出不來 就是 iptables 問題。 關閉後 正常。
/usr/local/apache2/bin/apachectl -M
查看靜態動態 的模塊
查看最後 有沒有 PHP5模塊
ls /usr/local/apache2/modules/libphp5.so
然後到 apache 配置文件 看模塊 是否調用 php5
apache 問題 curl localhost 報錯 403 修改 /usr/local/apa/conf/httpd 查找 vhost 註釋掉