在linux中安裝php+MySQL+Nginx環境是需要折騰一段時間了,今天小編來為各位整理了一篇Debian下安裝php+MySQL+Nginx環境過程,希望文章對各位有幫助.
一個小小的VPS,根本用不到企業級的CentOS,況且VPS本來資源就有限.centos+apache2真的太奢侈了.我現在的VPS標配都是php5,mysql 5和nginx 1.下面的方法恨簡單,本著簡單,高效原則,全部apt-get來安裝,不用15分鐘.如果超過30分鐘,這個VPS就不能用:如果不是鉆石硬盤那就是網絡有問題。
拿到VPS,裝debian 6 32位的,嗯,先更新一下.
- apt-get update
- apt-get upgrade
除去除去一些不需要的東西和apache2這樣耗資源的.
apt-get -y purge apache2-* bind9-* xinetd samba-* portmap sendmail-* sasl2-bin
(如果不需要sendmail發郵件,還可以加上sendmail-*),你硬盤小咋辦?刪除一些不必要的組件.
apt-get -y purge lynx memtester python-* odbcinst-* sudo ttf-*
也可以再加上unixodbc等,可以打掃一下:
- apt-get autoremove
- apt-get clean
接下來裝php,mysql和nginx了,debian官方源的軟件版本太老了,太老太老了…那么換個非官方的吧.Dotdeb是個不錯的源,打開/etc/apt/sources.list,添加下面兩行之后保存上傳.
- deb http://packages.dotdeb.org stable all
- deb-src http://packages.dotdeb.org stable all
然后增加新源的證書:
- wget http://www.dotdeb.org/dotdeb.gpg
- cat dotdeb.gpg | apt-key add -
增加了新源當然要更新一下:
- apt-get update
- apt-get upgrade
接著就可以裝了,根據自己需要來安裝相應的東西,比如gd等組件.比如我基本上用到這些:
apt-get install php5-cli php5-fpm php5-curl php5-mysql nginx mysql-server
大概110M左右東西,在安裝過程中需要輸入mysql的root密碼.其他就是等待,安裝完畢就根據自己VPS的配置進行設置.配置文件都在/etc下,建議修改:
- /etc/nginx/nginx.conf
- …
- worker_processes 2;
- …
別的基本不用改,但是我把gzip_開頭的選項都打開.
- /etc/php5/fpm/pool.d/www.conf (我用的完整版本www.conf)
- [www]
- listen = /tmp/php-www.sock
- listen.mode = 0666
- user = www-data
- group = www-data
- pm = static
- pm.max_children = 8
- pm.max_requests = 5000
- rlimit_files = 512000
- request_slowlog_timeout = 10s
- request_terminate_timeout = 30s
- slowlog = /var/log/php-fpm.slow.log
- ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com //Vevb.com
- ;php_flag[display_errors] = off
- ;php_admin_value[error_log] = /var/log/fpm-php.www.log
- ;php_admin_flag[log_errors] = off
- php_admin_value[memory_limit] = 24M
- php_admin_value[open_basedir] = /var/www/:/tmp/:/var/tmp/
這是256M OpenVZ的標準配置,根據內存大小調整pm.max_children和php_admin_value[memory_limit]的值,mysql 5.5默認就用Innodb了,又不是浩大工程,根本用不到,還占那么多資源,增加下面兩項即可.
- /etc/mysql/my.cnf
- [mysqld]
- default-storage-engine = MyISAM
- …
- skip-innodb
然后重啟服務:
- /etc/init.d/nginx restart
- /etc/init.d/php5-fpm restart
- /etc/init.d/mysql restart
基本上這個很節約資源也夠處理你的請求了,題外話,別老覺得nginx會導致502,好刀在好刀客手里才能發揮最大作用.根本不需要把nginx做后端,前面在加個apache.我們單臺服務器用nginx+php跑日2000萬動態PV不出問題.
|
新聞熱點
疑難解答