纯属MarkDown,我个人不大喜欢这类文章,按部就班,没啥思考性。
安装Nginx
代码语言:javascript复制注意,我下面的操作都是在一台干净的系统上进行的
#安装前,更新系统
sudo apt-get update
sudo apt-get upgrade
#安装Nginx
sudo apt-get install nginx-full
#装好后,配置文件都在/etc/nginx/目录下面,网站目录在/usr/share/nginx/www/下面
安装PHP
代码语言:javascript复制#安装PHP
sudo apt-get install php5-fpm
#修改Nginx配置,使其可以支持PHP
vim /etc/nginx/sites-enabled/default
修改其中支持PHP的部分,更新为以下内容:
代码语言:javascript复制location ~ .php$ {
fastcgi_split_path_info ^(. .php)(/. )$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcfi_params;
}
在网站目录下面新建一个php脚本,检测PHP环境是否搭建成功:
代码语言:javascript复制vim /usr/share/nginx/www/phpinfo.php
代码内容如下:
代码语言:javascript复制<?php
phpinfo();
?>
重新加载一次Nginx的配置文件,并修改网站目录权限
代码语言:javascript复制sudo service nginx reload
chown www-data:www-data /usr/share/nginx/www/ -R
chmod 755 /usr/share/nginx/www/ -R
打开浏览器,输入IP/phpinfo.php,看看显示是否正常。
安装MySQL和phpMyAdmin
代码语言:javascript复制#安装MySQL
sudo apt-get install mysql-server php5-mysql
期间,会让你设置MySQL的用户名和密码,你照常设置即可。
代码语言:javascript复制#安装phpMyAdmin
sudo apt-get install phpMyAdmin
ln -s /usr/share/phpmyadmin /usr/share/nginx/www/phpmyadmin
#保险起见,检查一下目录权限,如果权限不对,如上文修改权限
期间,也会让你设置phpMyAdmin的帐号密码,检查phpMyAdmin是否正常工作的方法是登录用一下,浏览器输入ip/phpMyAdmin/index.php运行即可。
安装Memcached和XCache
代码语言:javascript复制sudo apt-get install php5-xcache php5-memcached memcached
#重新加载一次php配置文件,使其生效
sudo service php5-fpm reload
浏览器输入ip/phpinfo.php检查Memcached和XCache是否安装成功。
安装SendMail
没注意之前我的WP一直发不出邮件,原来我没有安装邮件模块。
代码语言:javascript复制sudo apt-get install sendmail
就这么简单,一句代码,安装完成后重启一下php-fpm就好
代码语言:javascript复制sudo service php5-fpm restart
现在PHP的mail()函数就能正常使用了,我们可以给WP装上WordPress Database Backup自动备份数据并发送到我们的TB级别的邮箱中~~
结语:
自此,一台性能还算不错的PHP Server就部署好了。
为啥选Ubuntu 12.04?因为是LTS呗,其实没为啥,随便哪款Linux都可以,apt-get用得顺手。
为啥选Nginx?处理并发请求完胜Apache,不过我很喜欢Apache自带的benchmark,功能强大,在同局域网中发起测试不错。
为啥选PHP?我不会Java、不会Python…
为啥选MySQL?难道你不要数据库?
为啥选XCache?为啥选Memcached?因为Ubuntu自带有这两个的包,懒得编译。
前者的价值体现如下:
后者的价值体现如下:
PS:
之前在帷千的一个项目,用上了Redis,其实也可以改用Memcached(毕竟我只是做的INC这样的原子操作,不过放弃Redis的话,持久化存储的问题,就需要另外解决了),Ubuntu自带php5-memcached包,安装比phpredis要方便很多,虽然那个也不是很麻烦…
文中截图来自《Pro PHP Application Performance》一书,这书把PHP的生命周期讲得挺过瘾的,薄薄一本,值得一读。