LAMP 搭建

以下 服務版本號

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  註釋掉


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章