Linux/Ubuntu 10.04 + Nginx + MySql + php(FastCGI) + Phpmyadmin + WordPress


新到手一台VPS,小试一下感觉不错,发帖留念。
注:
1、本文为完成之后根据回忆写成,如有问题欢迎指正
2、大部分文本操作直接在CLI下通过shell完成

0、准备工作
[shell]sudo apt-get update[/shell]

1、安装并开启Nginx
[shell]sudo apt-get intsall nginx
sudo /etc/init.d/nginx start
#此时访问localhost如出现”Welcome to Nginx!”页面则表明安装成功[/shell]

2、安装mysql(会提示设置数据库密码)
[shell]sudo apt-get install mysql-server mysql-client[/shell]

3、安装phpmyadmin并在虚拟主机根目录下建立软链接
[shell]sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin/ /var/www/heaptech.com/ #/var/www/heaptech.com 即为虚拟主机位置[/shell]

4、安装php
[shell]sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl[/shell]

5、安装spawn-fcgi(控制php5-cgi的)
[shell]sudo apt-get install spawn-fcgi[/shell]

6、在Nginx中配置spawn-fcgi
[shell]#在/etc/nginx/fastcgi_params文件最后添加”fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;”
sudo sed -i ‘$ i fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;’ /etc/nginx/fastcgi_params[/shell]

7、修改php-cgi的配置文件,把cgi.fix_pathinfo设置为1
[shell]sudo sed -i ‘/cgi.fix_pathinfo=/ c cgi.fix_pathinfo=1;’ /etc/php5/cgi/php.ini[/shell]

8、开启fastcgi并设置开机启动
[shell]#1)开启
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid[/shell]
[shell]#2)设置开机启动,即在/etc/rc.local中添加”/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid”
sudo sed -i ‘/^exit/ i /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid’ /etc/rc.local[/shell]

9、设置Nginx中虚拟主机配置(最重要的部分)
[shell]#1)建立一个虚拟主机配置文件
sudo vim /etc/nginx/sites-available/heaptech.com #文件名任意[/shell]
[shell]#2)添加下方到内容
server {
listen 80; #WordPress的访问端口(默认80)
server_name heaptech.com www.heaptech.com; #主机名称,绑定的域名
root /var/www/heaptech.com; #虚拟主机根目录

location / {
index index.php;
}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}[/shell]
[shell]#3)软链接至sites-enabled文件夹
sudo ln -s /etc/nginx/sites-available/heaptech.com /etc/nginx/sites-enabled/[/shell]

10、安装wordpress
[shell]cd /var/www/heaptech.com #虚拟主机根目录
sudo wget http://wordpress.org/latest.tar.gz
sudo tar -zxvf latest.tar.gz
sudo mv wordpress/* .
sudo chmod -R 755 wp-content/ #权限问题还有一点不是很明白,欢迎指教(怎样最安全?)
sudo cp wp-config-sample.php wp-config.php
sudo sed -i -e ‘s/database_name_here/数据库名称/’ -e ‘s/username_here/数据库用户名/’ -e ‘s/password_here/数据库密码/’ -e ‘s/localhost/主机名称/’ -e ‘$ i define(‘WP_POST_REVISIONS’, false);’ wp-config.php #需将命令中的中文替换为对应值[/shell]

11、Last but not least
[shell]sudo /etc/init.d/nginx restart
#至此,所有安装工作全部完成
#http://heaptech.com即为blog地址
#http://heaptech.com/phpmyadmin/为phpmyadmin[/shell]


4 responses to “Linux/Ubuntu 10.04 + Nginx + MySql + php(FastCGI) + Phpmyadmin + WordPress”

  1. 如果以后为了省事的话可以用这个http://lnmp.org/index.html,LNMP一键安装包,我用的是Ubuntu10.04 server,burstnet VPS测试通过。
    不过当时安装时好像也出现了点小问题,自己修改了一下代码,问题不大,就是某个依赖包的问题,现在的版本应该修正了。

  2. 嗯,我当时买完VPS就开始手动配置,后来想写脚本时候发现了那个。
    我觉得如果只真对debian和ubuntu的话,在脚本中完全可以采用从源安装的方法,省去了编译的麻烦,省事一点是一点
    如果做的更好一点的话,可以在编译nginx时候加入几个常用的编译选项,比如指定位置,是否加入防盗链模块等等

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.