平臺:debian 7 x86_64php
apt-get update
apt-get upgrade -yhtml
dpkg-reconfigure locales
#配置編碼進入選擇:(空格鍵是選擇,不是ENTER,選擇完了後再ENTER)
en_US.UTF8
zh_CN GB2312
zh_CN GBK GBK
zh_CN UTF-8 UTF-8mysql
apt-get install -y ttf-arphic-uming ttf-wqy-zenhei
更新系統並安裝中文字體nginx
1,安裝mysql源sql
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.debvim
dpkg -i mysql-apt-config_0.6.0-1_all.deb瀏覽器
按需求選mysql6或7,apply緩存
2,安裝nginx源app
echo "deb http://nginx.org/packages/debian/ wheezy nginxcurl
deb-src http://nginx.org/packages/debian/ wheezy nginx" >> /etc/apt/sources.list
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
rm nginx_signing.key
3,更新緩存並安裝基本庫
apt-get update
apt-get install -y vim vim-runtime build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
4,安裝nginx
apt-get install -y nginx
5,安裝mysql
apt-get install -y mysql-server (輸入root密碼)
受權root帳號有遠程訪問權限
mysql -u root -p
grant all privileges on *.* to root@'%' identified by "hello";
flush privileges;
exit
6,安裝php
apt-get install -y php5 php5-fpm php5-gd php5-common php-pear php5-cli php5-intl php5-imagick php5-mcrypt php5-mhash php5-sqlite php5-mysql php5-curl php5-imap php5-memcache memcached php5-xcache
7,簡單配置
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php5/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php5/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php5/fpm/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /etc/php5/fpm/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 120/g' /etc/php5/fpm/php.ini
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /etc/php5/fpm/php.ini
ulimit -HSn 65535
sed -i 's/;request_terminate_timeout = 0/request_terminate_timeout = 120/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/pm.max_children = 5/pm.max_children = 100/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/pm.start_servers = 2/pm.start_servers = 10/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 10/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 70/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/;pm.max_requests = 500/pm.max_requests = 10240/g' /etc/php5/fpm/pool.d/www.conf
sed -i 's/;rlimit_files = 1024/rlimit_files = 51200/g' /etc/php5/fpm/pool.d/www.conf
service php5-fpm restart
8,創建網站目錄並受權
mkdir -p /var/www/html
chown -R www-data:www-data /var/www/html
vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /var/www/html;
location / {
root /var/www/html;
index index.html index.php index.htm;
}
location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sed -i 's/user nginx;/user www-data;/g' /etc/nginx/nginx.conf
service nginx restart
9測試
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
瀏覽器輸入http://yourserverip
若看到phpinfo信息頁就基本成了
php5-fpm在debian下默認使用Unix sock作php解析,若用tcp的127.0.0.1:9000作解析只需
vi /etc/php5/fpm/pool.d/www.conf
將listen = /var/run/php5-fpm.sock改成listen = 127.0.0.1:9000
而後將/etc/nginx/conf.d/default.conf
fastcgi_pass 127.0.0.1:9000;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
service php5-fpm restart
service nginx restart
netstat -anl | grep 9000便可看到端口偵聽狀態