天天看點

Ubuntu11安裝配置nginx+mysql+php

LNMP安裝配置

mysql : http://dev.mysql.com/downloads/mysql/

php :http://cn.php.net/get/php-5.3.6.tar.gz/from/cn2.php.net/mirror

nginx :http://nginx.org/download/nginx-1.0.13.tar.gz

注意:mysql下載下傳類型選擇source code,最後一個tar.gz包

            如果安裝包是tar.bz2格式的,請用 tar -jxvf xxx.tar.bz2指令解壓

安裝過程中可能會遇到提示有些軟體或者lib未找到的錯誤,像libncurses5-dev, chkconfig, libiconv, libmcrypt, pcre, libjpeg, libpng, cmake等,需要自己下載下傳手動安裝

安裝CMAKE

下載下傳:http://www.cmake.org/cmake/resources/software.html

#tar -zxvf cmake-2.8.7.tar.gz
#./bootstrap
#./configure
#make && make install
           

報錯提示: Cannot find appropriate Makefile processor on this system.

解決 : yum install make

安裝MYSQL

版本:5.5.19

#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data
#groupadd mysql
#useradd -g mysql mysql
#chown -R mysql /usr/local/mysql
#chown -R mysql.mysql /usr/local/mysql/data
#tar -zxvf mysql-5.5.19.tar.gz
#cd mysql-5.5.19
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_unicode_ci \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306
#make && make install
#cd ../mysql
#chmod +w .
#mkdir -p /var/mysql
#mkdir -p /var/mysql/data
#mkdir -p /var/mysql/log
#chown -R mysql.mysql /var/mysql
#cp support-files/my-large.cnf /etc/my.cnf
#cp support-files/mysql.server /etc/init.d/mysqld
#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --defaults-file=/etc/my.cnf
           

安裝完成之後,啟動mysql服務

#/etc/init.d/mysqld start
           

修改mysql的root使用者密碼

#mysql -u root -p
mysql>use mysql
mysql>UPDATE user SET password=PASSWORD('123456') WHERE user='root'
    ->\g
mysql>\q
#/etc/init.d/mysqld restart
           

将mysql加入開機啟動項

#chkconfig --add mysqld
#chkconfig --level 345 mysqld on
           

安裝PHP

版本:5.3.6

#tar -zxvf php-5.3.6.tar.gz
#cd php-5.3.6
#./configure --prefix=/usr/local/php  --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql  --with-pdo-mysql=/usr/local/mysql   --with-mysqli=/usr/local/mysql/bin/mysql_config   --with-jpeg-dir   --with-png-dir   --with-zlib   --with-libxml-dir=/usr/lib   --enable-xml   --disable-rpath   --enable-safe-mode   --enable-bcmath   --enable-shmop   --enable-sysvsem   --enable-inline-optimization   --with-curl   --with-curlwrappers   --enable-mbregex   --enable-fpm   --enable-mbstring   --with-mcrypt   --with-gd  --with-freetype-dir=/usr/local/freetype  --enable-gd-native-ttf   --with-openssl   --with-mhash   --enable-pcntl   --enable-sockets   --with-xmlrpc   --enable-zip   --enable-soap   --without-pear  
#make && make install 
           

安裝完成之後配置PHP,包括php.ini, php-fpm.conf等

#cp php.ini-production /usr/local/php/etc/php.ini
#ln -s /usr/local/php/sbin/php-fpm /etc/init.d/
#cp /usr/local/php/etc/php-fpm.conf-default /usr/local/php/etc/php-fpm.conf
           

最後修改php.ini和php-fpm.conf配置項

安裝nginx

版本:1.0.13

#tar -zxvf nginx-1.0.13.tar.gz
#cd nginx-1.0.13
#./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module
#make && make install
           

安裝完成之後修改/usr/local/nginx/conf/nginx.conf配置檔案

打開nginx.conf檔案,找到

#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}
           

将前面的#去掉

location 定義檔案類型, \.php$ 代表所有以 php 作為檔案字尾的檔案類型.

root 定義php項目檔案的實體路徑,例如:将html修改為/usr/local/website

fastcgi_index 定義 php 檔案類型中的預設索引頁

fastcgi_param SCRIPT_FILENAME 定義了頁面請求參數, 如用戶端需要通路 /t1.php 則會自動讀取 /www/t1.php檔案, 如用戶端通路 / 則自動讀取 /www/index.php 檔案,/scripts需要改為php項目檔案的實體路徑

include 定義fastcgi 配置資訊将會被儲存到 /usr/local/nginx/conf/fastcgi_params 檔案中

配置php-fpm的啟動、停止、重新開機shell

#vi /sbin/php-fpm
           

輸入以下内容并儲存退出

#! /bin/sh

start () {
    /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
    echo 'success:php-fpm start!'
    exit 0
}

stop () {
    kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
    echo 'success:php-fpm stop!'
    exit 0
}

restart () {
    kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
    echo 'success:php-fpm restart!'
    exit 0
}

case $1 in
    start)   start
    ;;
    stop)    stop
    ;;
    restart) restart
    ;;
esac
           

更改執行權限

#chmod +x /sbin/php-fpm
           

現在我們可以直接在terminal中操作php-fpm

#php-fpm start
#php-fpm restart
#php-fpm stop