Ubuntu12.04快速部署 Nginx + MySQL + PHP + Memcached + XCache + phpMyAdmin

2018-08-08 15:21:39 浏览数 (1)

纯属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的生命周期讲得挺过瘾的,薄薄一本,值得一读。

0 人点赞