以前在Linux下,只配过LAMP,没尝试过Nginx,这次换个口味尝试一下,中间遇到了一个比较无语的小错误浪费了很长时间(下面会说到)。总体来说还算比较顺利吧,不过安装PHP的目的只是为了用phpMyAdmin,所以对PHP的版本等方面都没有要求,如果要求PHP版本是5.2的还需要额外操作。配置好之后,安装了Discuz! X2.5,简单看了下没有什么问题。
1.环境
OS:Ubuntu 13.04 64bits
2.安装Nginx
sudo apt-get install nginx
配置文件在/etc/nginx下
程序文件在/usr/sbin/nginx下
日志文件在/var/log/nginx下
网站目录在/usr/share/nginx/html下,注意:需要为目录树加写权限:sudo chmod -R 777 /usr/share/nginx/html
并已经在/etc/init.d/下创建了启动脚本nginx
启动nginx的命令:sudo /etc/init.d/nginx start
然后就可以访问通过http://localhost/访问了。如果看到Welcome to nginx!
,下面一大片英文,则代表安装成功。否则,请到日志文件查看错误原因。
3.安装MySQL
sudo apt-get install mysql-server mysql-client
安装过程中,会要求输入两次root的密码。
此外,需要执行以下操作,才能解除只有本地可以访问的限制:
在/etc/mysql/my.cnf找到:bind-address 127.0.0.1
,在这一行前加#注释掉。
4.安装PHP5
这里安装了很多组件,其中php5-fpm是FastCGI Process Manager,是Nginx配合PHP所必须使用的。php5-mcrypt是phpMyAdmin需要使用到的。
sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-gd php-apc php5-common
5.配置Nginx使配合PHP5
5.1 /etc/nginx/nginx.conf
可以根据需要修改这两个变量的值:worker_processes
,keepalive_timeout
。
5.2 /etc/nginx/sites-available/default
1.找到index
,添加index.php
。
2.找到server_name
,改为你所希望的域名(准确,正则,glob),当然也可以配置server里的其他属性,如监听端口号listen
等。
3.找到如下一段(这是Nginx配合PHP的部分):
修改为:
注意:千万不要忘了取消掉前后大括号所在行的注释!我就是在这里耽误了很久时间的。
此外,要注意fastcgi是使用的9000端口,还是sock的形式。网上很多教程都是用的9000端口那行,而在我的实际操作中发现netstat -nat | grep php
得到的是sock这种。我这里安装的PHP版本是5.4的,不知其他版本情况。
4.删除如下一段的注释(下面为删除后的代码):
6.测试Nginx与PHP
创建探针文件phpinfo.php,放到Nginx网站根目录下。
重启Nginx服务器:sudo /etc/init.d/nginx restart
。
进入http://localhost/phpinfo.php,查看探针文件。
7.phpMyAdmin的安装
从phpMyAdmin的sf主页上下载最新版本的phpMyAdmin(点击进入)。
将得到的压缩文件放到/usr/share/nginx/html中,解压即可(可以根据自己的需要修改目录名字)。注意:phpMyAdmin目录需要权限为755,否则显示“配置文件权限错误,无法写入!”。
可以将phpMyAdmin根目录下的config.sample.inc.php复制一份并改名为config.inc.php,即可作为默认的配置文件。
可以通过配置文件对验证方式进行修改,这里就不多介绍了。需要注意的是,如果使用cookie验证方法,则必须在blowfish_secret后面填上任意字母作为短语密码,如果留空会在登陆后报错。
其他部分可以保持不变,也可以根据自己需求修改。