LNMP安裝詳細配置php
環境:
虛擬機: virtualbox
主機: redhat 5.4
測試機: windows 7
源碼安裝步驟:
1.安裝開發庫
在安裝源碼以前,須要安裝一些庫文件,它們是一些開發工具,爲的是可以對源碼進行編譯及安裝,出於方便的緣由,咱們能夠安裝如下三個開發庫組:
X 軟件開發(X Software Development) 開發庫(Development Libraries)
開發工具(Development Tools)
有些庫是默認安裝過的,咱們只須要安裝機器上沒有安裝的就好了,能夠以下查看沒有安裝的庫組 (前提是yum源配置成功)
[root@localhost yum.repos.d]# yum grouplist
Available Groups:下面的庫組是沒有安裝的,根據要求安裝便可安裝方法以下
[root@localhost yum.repos.d]# yum groupinstall "X 軟件開發" "開發庫"
個人是中文顯示的,而且要安裝兩個庫組。
2.安裝mysql
1>解壓mysql文件
mysql軟件包:mysql-5.5.15-linux2.6-i686.tar.gz
解壓文件
[root@localhost Desktop]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
進入文件夾,更名爲mysql
[root@localhost Desktop]# cd /usr/local/
[root@localhost local]# mv mysql-5.5.15-linux2.6-i686 mysql
2 >mysql配置
進入mysql文件夾,開始配置
注:其實mysql開發者爲了方便咱們對mysql配置的掌控,已經把配置的步驟給詳細的寫了出來,咱們能夠參照他們的配置步驟來進行配置,文件名爲:INSTALL-BINARY,能夠打開這個文件來參照着配置
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql // 初始化數據庫
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data //讓data目錄屬於用戶mysql
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf //配置文件放在/etc/目錄下
[root@localhost mysql]# bin/mysqld_safe --user=mysql & 運行mysql數據庫
[1] 3200
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 把mysql的啓動腳本放在啓動目錄下並更名爲;mysqld,這樣咱們就可使用命令:service mysqld start|stop|restart來啓動mysql數據庫了。
如:[root@localhost ~]# service mysqld restart
Shutting down MySQL. [肯定]
Starting MySQL... [肯定]
3>進入數據庫
因爲是源碼安裝的mysql,因此如今並不能直接使用命令:mysql來進入mysql數據庫,它的啓動文件在/usr/local/mysql/bin目錄下即文件:mysql
進入mysql (前提是已經在mysql目錄下)
[root@localhost mysql]# bin/mysql
這樣就能夠進入mysql了,可是這種方法很麻煩,每次啓動mysql時還要找到這個文件,因此咱們能夠進行必定的優化,把mysql的啓動腳本加入到環境變量中,讓咱們直接可使用命令:mysql來進入數據庫
[root@localhost bin]# vim /etc/profile
添加以下內容:
PATH=$PATH:/usr/local/mysql/bin //在最後添加的mysql的環境變量
[root@localhost bin]# source /etc/profile //使環境變量生效
[root@localhost bin]# mysql //進入mysql
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
4> 設置mysql開機啓動
[root@localhost ~]# chkconfig --add mysqld //增長mysqld開機啓動
[root@localhost ~]# chkconfig --list | grep mysqld //查看啓動項
mysqld 0:關閉
1:關閉
2:啓用
3:啓用
4:啓用
5:啓用
6:關閉
如今雖然已經可以開機啓動,可是卻不可以加載mysql的庫文件和頭文件
下面對其進行設置
[root@localhost include]# cd /etc/ld.so.conf.d/ //進入開機啓動庫文件
[root@localhost ld.so.conf.d]# vim mysql.conf //自定義一個文件名,後綴必須爲: .conf
在文件中增長代碼:
/usr/local/mysql/lib
應用lib文件
[root@localhost ld.so.conf.d]# ldconfig -v
檢查是否加載成功
[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
添加開機使用的頭路徑
[root@localhost ld.so.conf.d]# cd /usr/local/include/ //進入頭文件存放目錄
[root@localhost include]# ln -s /usr/include/local/mysql/include mysql //爲mysql的頭文件作一個到頭文件存放目錄的路徑,名字爲mysql
3安裝nginx
1> 安裝依賴文件pcre pcre-devel
[root@localhost include]# yum install pcre pcre-devel
2> 下載文件:libevent-2.0.16-stable.tar.gz
解壓進行安裝
[root@localhost ~]# tar -zxvf '/root/Desktop/libevent-2.0.16-stable.tar.gz' -C /usr/local/src/
[root@localhost Desktop]# cd /usr/local/src/
[root@localhost src]# ll
總計 4
drwxr-xr-x 8 code code 4096 2011-11-19 libevent-2.0.16-stable
[root@localhost src]# cd libevent-2.0.16-stable/
[root@localhost libevent-2.0.16-stable]# ./configure
[root@localhost libevent-2.0.16-stable]# make
[root@localhost libevent-2.0.16-stable]# make install
3> 下載nginx-1.0.11.tar.gz
解壓安裝
[root@localhost ~]# tar -zxvf '/root/Desktop/nginx-1.0.11.tar.gz' -C /usr/local/src/
[root@localhost libevent-2.0.16-stable]# cd /usr/local/src
[root@localhost src]# ll
總計 8
drwxr-xr-x 10 code code 4096 11-08 23:14 libevent-2.0.16-stable
drwxr-xr-x 8 1001 1001 4096 2011-12-15 nginx-1.0.11
[root@localhost src]# cd nginx-1.0.11/
[root@localhost nginx-1.0.11]# ./configure \
> --prefix=/usr \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid \
> --lock-path=/var/lock/nginx.lock \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_flv_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-client-body-temp-path=/var/tmp/nginx/client/ \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre
[root@localhost nginx-1.0.11]# make
[root@localhost nginx-1.0.11]# make install
安裝成功後要爲nginx建立用戶及組
[root@localhost nginx-1.0.11]# groupadd nginx
[root@localhost nginx-1.0.11]# useradd -g nginx -s /sbin/nologin -M nginx
4> nginx的啓動與別的服務有些不一樣,它能夠直接使用nginx就能夠啓動此服務
[root@localhost nginx-1.0.11]# nginx
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
若是出現了上面的錯誤,則是少client目錄
[root@localhost nginx-1.0.11]# mkdir -p /var/tmp/nginx/client
從新啓動nginx
[root@localhost nginx-1.0.11]# nginx
查看是否啓動
[root@localhost nginx-1.0.11]# netstat -tupln | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1147/nginx: master
5> 測試nginx是否成功(前提要關閉linux防火牆)
3. PHP源碼安裝
1> 解壓並安裝
[root@localhost ~]# tar -jxvf '/root/Desktop/php-5.3.7.tar.bz2' -C /usr/local/src/
[root@localhost html]# cd /usr/local/src
[root@localhost src]# ll
總計 12
drwxr-xr-x 10 code code 4096 11-08 23:14 libevent-2.0.16-stable
drwxr-xr-x 9 1001 1001 4096 11-08 23:25 nginx-1.0.11
drwxr-xr-x 13 1000 1000 4096 2011-08-17 php-5.3.7
[root@localhost src]# cd php-5.3.7/
安裝
[root@localhost php-5.3.7]# ./configure \
> --prefix=/usr/local/php \
> --with-mysql=/usr/local/mysql/ \
> --with-zlib --enable-xml --disable-rpath \
> --enable-bcmath --with-gd \
> --enable-shmop --enable-sysvsem \
> --with-curl --with-curlwrappers --enable-fpm \
> --with-ldap --with-ldap-sasl --with-xmlrpc-enable-zip --enable-soap
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
2> 建立php配置文件,能夠經過複製模板來獲得
[root@localhost php-5.3.7]# cp -p php.ini-development /usr/local/php/php.ini
獲得主配置文件
[root@localhost php-5.3.7]# cd /usr/local/php
[root@localhost php]# cp -p etc/php-fpm.conf.default etc/php-fpm.conf
[root@localhost php]# vim etc/php-fpm.conf
添加以下
添加以下目錄
[root@localhost php]# mkdir /var/run/php-fpm
啓動:php-fpm
[root@localhost php]# /usr/local/php/sbin/php-fpm
[09-Nov-2012 00:32:06] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value
[09-Nov-2012 00:32:06] ERROR: failed to post process the configuration
若是出現上面 的錯誤,則修改以下(將下面的三個前面的;分號去掉)
[root@localhost php]# vim etc/php-fpm.conf
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
3> 修改nginx的配置文件/etc/nginx/nginx.conf
[root@localhost php]# vim /etc/nginx/nginx.conf
修改以下
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/html$fastcgi_script_name; //注意網站存放路徑。即:/usr/html
include fastcgi_params;
}
4> 測試關聯成功
[root@localhost php]# cd /usr/html
[root@localhost html]# ll
總計 8
-rw-r--r-- 1 root root 383 11-08 23:26 50x.html
-rw-r--r-- 1 root root 151 11-08 23:26 index.html
[root@localhost html]# vim index.php
添加以下內容
<?php
phpinfo();
?>
5> 測試數據庫鏈接成功
修改index.php內容以下
$link=mysql_connect("localhost","root","");
if($link)
echo "success";
else
echo "false";
?>
測試成功