一、安装 Nginx + MariaDB (MySQL)Ubuntu 官方源里的 Nginx 版本实在过低,所以我们先加入 ppa:Nginxsudo apt-get install software-properties-common sudo add-apt-repository ppa:nginx/stable sudo apt-get update 然后安装 Nginx + MariaDB sudo apt-get install nginx-extras mariadb-server 按照屏幕提示输入 MySQL 的 root 密码即可完成安装。 二、安装 PHP 并修改配置文件然后安装一些常用的 PHP 包,默认是 PHP 5.5 + sudo apt-get install php5-cgi php5-mysql php5-fpm php5-curl php5-gd php5-idn php-pear php5-imap php5-mcrypt php5-mhash php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl 我们采用 PHP-FPM 配合 Nginx 使用,所以加入配置文件 sudo tee /etc/nginx/conf.d/php.conf << EOF upstream php { server unix:/var/run/php5-fpm.sock; } EOF 然后检查一下 /etc/php5/fpm/pool.d/www.conf, 保证里面有这三句: listen.owner = www-data listen.group = www-data listen.mode = 0660 如果有不一样的地方(比如最后一句的权限可能是 0666), 改成一样; 如果注释掉了, 去掉前面的分号。 VPS 内存如果很小的话, 在刚才的 /etc/php5/fpm/pool.d/www.conf 里考虑做这样的修改,分号后面为解释: pm = dynamic ;Dynamic allocate child-processes for php-fpm pm.max_children = 5 ;Limit number of child-processes pm.start_servers = 2 ;Start 2 child-processes when server starts pm.min_spare_servers = 2 ;Remain at least 2 when spare pm.max_spare_servers = 5 ;Remain at most 5 when spare pm.max_requests = 300 ;300 requests the most per child-process(and then exit and start new one) 三、更新 Nginx 配置文件接着你可以在 /etc/nginx/sites-enabled 目录下放个配置文件,如: server { listen 80; server_name example.com; root /var/www/example.com; index index.html index.htm index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { expires max; log_not_found off; access_log off; } location ~ \.php?$ { include /etc/nginx/fastcgi_params; fastcgi_pass php; } } 接着在 /var/www/example.com 目录下放一个 php 文件,比如 index.php: <?php phpinfo(); // This would be used to display all of the PHP information available for the installation. ?> 最后重启下服务: sudo service nginx restart sudo service php5-fpm restart 访问一下 example.com 试试,是不是大功告成了?先别急,还有一个 bug,你会发现这样装完以后 PHP 文件会显示一片空白,返回的却是 200 OK 状态,这是因为目前的 Nginx 1.6.2 版本官方包的 /etc/nginx/fastcgi_params 文件里少了一行,请手工在最上方加入 fastcgi_param SCRIPT_FILENAME $request_filename; 如果内存大的话可以考虑下 Memecached 或 XCache 来做 PHP 缓存,按照我们的经验,用本文的配置,一台 2GB 内存的 VPS 支撑每天 20 万 PV 的 WordPress ,配合 W3 Total Cache 插件 + Memcached,文章数目在一万篇以下、主题不要做得太傻逼,那么完全没啥大问题。 (责任编辑:IT) |