配置php+nginx+mysql的教程现在满世界都能找到,所以我就不累赘地讲述了,不外乎一般都是下面的命令。
我使用的版本是: ubuntu版本: 14.04
首先安装nginx
sudo apt-get nginx
启动nginx,用apt-get安装的话都是配置好启动脚本的
/etc/init.d/nginx start
安装PHP
sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql
修改nginx配置
sudo vi /etc/nginx/sites-available/default
在配置文件中把下面的配置前面的#去掉
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi _index index.php;
include fastcgi_params;
}
修改指定文件路径,我的服务器上只是放了一个应用,偷懒,直接用root了
修改sudo vi /etc/nginx/sites-available/default中的root 你的文件夹
PS: 以上只是我自己的配置,其实要配置一台安全的服务器还是有比较多东西要做的,鉴于网上的资料已经泛滥了,所以我就写条主线出来,详细配置看个人需求。这里我主要重点还是讲Redis还有PHP,因为PHP官方是支持mongo而不支持redis,所以我就讲一下配置和使用。
安装Redis
ok,重点来了,我使用下面的命令
sudo apt-get install redis-server
这没问题,BUT。我需要的是比较新的Redis,因为要用到 EXPIRE 特性,在 Redis 2.1.3 之前的版本中,修改一个带有生存时间的 key 会导致整个 key 被删除,这一行为是受当时复制(replication)层的限制而作出的,现在这一限制已经被修复。在 Redis 2.4 版本中,过期时间的延迟在 1 秒钟之内 —— 也即是,就算 key 已经过期,但它还是可能在过期之后一秒钟之内被访问到,而在新的 Redis 2.6 版本中,延迟被降低到 1 毫秒之内。
所以我查看了一下我Redis的版本
redis-cli --version
输出
redis-cli 2.2.12
好吧,这版本有点老。
于是我更新了下apt-get源
sudo add-apt-repository ppa:chris-lea/redis-server
BUT
报了以下错误
sudo: add-apt-repository: command not found
........!!!
确实,的确,少了点什么
执行
sudo apt-get install software-properties-common python-software-properties
就可以啦!PS:不一定会遇到这个问题,有一些版本的Ubuntu是精简过的,我建议大家是在ubuntu官网下载。
记得别忘了执行
sudo apt-get update
然后再运行刚才的命令
搞定,成功添加了更新源。接下来卸载刚才安装的老版本
sudo apt-get remove redis-server
再次用apt-get安装redis,这次是2.8.12的最新版本啦
配置phpredis
把基础环境搞定,接下来是安装拓展啦。
phpredis 的github地址:
https://github.com/nicolasff/phpredis
然后配制。编译,安装。先切换到下载的phpredis文件夹
然后
- phpize(如果提示出错的话, 执行 apt-get install php5-dev )
- ./configure
- make
- make install
然后在php.ini 加上 extension = redis.so
或
在 /etc/php5/conf.d 中建立一个redis.ini的文件 ,内容为 extension=redis.so
搞定收工。建立一个页面输入
phpinfo();
看看有没有Redis这项。
一般来说木有,为什么,因为还没有重启fpm 和 nginx。 我直接简单粗暴, sudo reboot。
这下就搞定啦。
下次我写下redis的使用。