2015年6月3日 星期三

Debian下使用apt-get安裝Nginx + MySQL + PHPMyAdmin


Debian下使用apt-get安裝Nginx + MySQL + PHPMyAdmin 


apt-get update
apt-get upgrade

假設服務器沒有配置Web服務和MySQL數據庫,首先安裝Web服務,這里首選Nginx:

apt-get install nginx


其次安裝MySQL數據庫,嘗試使用下面的命令(其間可能需要交互輸入密碼):

apt-get install mysql-server


接下來簡單介紹一下PHP的安裝,這裡使用FastCGI模式,仍然使用apt-get命令,配置來至lowendscript,其中部分配置對於小內存VPS進行了優化,建議按要求修改,

例如

PHP_FCGI_CHILDREN



PHP_FCGI_MAX_REQUESTS等

參數值:


apt - get install php5 - cgi php5 - cli php5 - mysql 

#以下參考至lowendscript小內存PHP配置
 # https://github.com/lowendbox/lowendscript

 cat >  / etc / init . d / php - cgi << END 

# !/bin/bash
 ### BEGIN INIT INFO
 # Provides: php-cgi
 # Required-Start: networking
 # Required-Stop: networking
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description : Start the PHP FastCGI processes web server.
 ### END INIT INFO

PATH =/ sbin :/ bin :/ usr / sbin :/ usr / bin
NAME = "php-cgi"
DESC = "php-cgi"
PIDFILE = "/var/run/www/php.pid"
FCGIPROGRAM = "/usr/bin/php-cgi"
FCGISOCKET = "/var/run/www/ php.sock"
FCGIUSER = "www-data"
FCGIGROUP = "www-data"

if  [  - e / etc / default / php - cgi ]
then
    source / etc / default / php - cgi
fi

[  - z " \$ PHP_FCGI_CHILDREN"  ]  && PHP_FCGI_CHILDREN = 1
[  - z " \$ PHP_FCGI_MAX_REQUESTS"  ]  && PHP_FCGI_MAX_REQUESTS = 5000

ALLOWED_ENV = "PATH USER PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"

set - e

.  / lib / lsb / init - functions

case  " \$ 1" in
start )
    unset E
     for i in \$ { ALLOWED_ENV } ;  do
        E = " \$ {E} \$ {i}= \$ {!i}"
    done
    log_daemon_msg "Starting \$ DESC" \ $NAME
    env - \$ { E } start - stop - daemon -- start - x \ $FCGIPROGRAM  - p \ $PIDFILE \\
         - c \ $FCGIUSER : \ $FCGIGROUP  - b - m --  - b \ $FCGISOCKET
    log_end_msg 0
    ;;
stop )
    log_daemon_msg "Stopping \$ DESC" \ $NAME
    if start - stop - daemon -- quiet -- stop -- oknodo -- retry 30 \\
         -- pidfile \ $PIDFILE  -- exec \ $FCGIPROGRAM
    then
        rm - f \ $PIDFILE
        log_end_msg 0
    else
        log_end_msg 1
    fi
    ;;
restart | force - reload )
    \$ 0 stop
     sleep  1
    \$ 0 start
     ;;
* )
    echo  "Usage: \$ 0 {start|stop|restart|force-reload}"  >& 2
    exit  1
    ;;
esac
exit  0
END
    chmod  755  / etc / init . d / php - cgi
     mkdir  - p / var / run / www
     chown www - data : www - data / var / run / www

    cat >  / etc / nginx / fastcgi_php << END
location ~ \ . php$ {
    include  / etc / nginx / fastcgi_params ;

    fastcgi_index index . php ;
    fastcgi_param SCRIPT_FILENAME \ $document_root \ $fastcgi_script_name ;
    if  ( - f \ $request_filename )  {
        fastcgi_pass unix :/ var / run / www / php . sock ;
    }
}
END 

update - rc . d php - cgi defaults
invoke - rc . d php - cgi start

最後安裝PHPMyAdmin,使用下面的命令安裝:

apt-get install phpmyadmin


注意會提示你選擇Apache或者lighttpd服務器,我們用的是Nginx,所以這裡按Esc退出選擇,然後會提示你輸入數據庫root密碼,輸入後按OK確定。


安裝完成後,phpmyadmin所有代碼文件都默認位於/usr/share/phpmyadmin路徑下,假設我們的Web主路徑位於/var/www下,接下來做個鏈接就可以了:


ln  -s  / usr / share / phpmyadmin /  / var / www /


最後建立Nginx配置文件:

cat  >  "/etc/nginx/sites-enabled/www.conf"  <<END
server {
    server_name example.com; # 你的域名
    root /var/www;
    include /etc/nginx/fastcgi_php;
    location / {
        index index.php;
    }
}
END


好了,最後還有一步別忘記了,那就是重啟php-cgi並讓Nginx重新加載配置:


invoke-rc.d php-cgi restart
nginx -s reload


基本上步驟就是這樣。




沒有留言:

張貼留言