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

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

0、准备工作

sudo apt-get update

1、安装并开启Nginx

sudo apt-get intsall nginx
sudo /etc/init.d/nginx start
#此时访问localhost如出现"Welcome to Nginx!"页面则表明安装成功

2、安装mysql(会提示设置数据库密码)

sudo apt-get install mysql-server mysql-client

3、安装phpmyadmin并在虚拟主机根目录下建立软链接

sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin/ /var/www/heaptech.com/ #/var/www/heaptech.com 即为虚拟主机位置

4、安装php

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

5、安装spawn-fcgi(控制php5-cgi的)

sudo apt-get install spawn-fcgi

6、在Nginx中配置spawn-fcgi

#在/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

7、修改php-cgi的配置文件,把cgi.fix_pathinfo设置为1

sudo sed -i '/cgi.fix_pathinfo=/ c cgi.fix_pathinfo=1;' /etc/php5/cgi/php.ini

8、开启fastcgi并设置开机启动

#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
#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

9、设置Nginx中虚拟主机配置(最重要的部分)

#1)建立一个虚拟主机配置文件
sudo vim /etc/nginx/sites-available/heaptech.com #文件名任意
#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;
     }
}
#3)软链接至sites-enabled文件夹
sudo ln -s /etc/nginx/sites-available/heaptech.com /etc/nginx/sites-enabled/

10、安装wordpress

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 #需将命令中的中文替换为对应值

11、Last but not least

sudo /etc/init.d/nginx restart
#至此,所有安装工作全部完成
#http://heaptech.com即为blog地址
#http://heaptech.com/phpmyadmin/为phpmyadmin

4 thoughts on “Linux/Ubuntu 10.04 + Nginx + MySql + php(FastCGI) + Phpmyadmin + WordPress

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

    • @lqik2004 其实我在看完Bash Guide 4 Beginners之后准备自己写一个一键安装的Shell脚本的……没想到被抢先一步了,准备研究研究它的代码~其实我这里已经基本全是Shell命令了,直接塞到脚本里面也就差不多了~

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

Leave a Reply

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

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>