在Ubuntu上安装Nginx+PHP+MYSQL+phpmyadmin
之前一直是用iis+php+mysql来跑网站的,听说nginx要比apache的性能好十倍,索性尝试了一把,因为对linux系统别的不熟悉,尝试起来并不是很顺利,前前后后查资料反复试验,终于见到效果了,但还没感受到他威力,我把我经验总如下:
环境准备工作:
一、虚拟机VMware Workstation 7.0.0,操作系统Ubuntu10.4。
VMware我的是安装版,因为之前用绿色版出现了一些问题,具体什么原因就没去追究了,Ubuntu没有出现过什么问题。
二、php、nginx、mysql、phpmyadmin软件安装,以上都用最新版本或是稳定版本都行,这些软件的安装有两种办法(1)全部手动安装,这种办法适合比较熟悉linux的技术人员,初学者不推荐(2)Ubuntu自带了新立得软件管理,这是一款很实用软件,初学者可以借助此软件来安装。这里我就采用第二种方法:
1、准备工作
打开终端更新新立得软件:sudo atp-get update
2、安装病开启Nginx
终端输入:sudo apt-get install nginx
3、查看是否安装成功,访问http://localhostr出现“Welcome to Nginx!”页面则表明安装成功。
4、安装数据库mysql(途中会提示你设置密码默认用户是root)
终端输入:sudo apt-get install mysql-server mysql-clinet
5、安装phpmyadmin并在虚拟主机根目录下面建立软链接
终端输入:sudo apt-get install phpmyadmin
sudo In -s /usr/share/phpmyadmin/ /var/www/****.com/ 星号可随意取名,最好和你网站的域名一致方便多个网站的管理,/var/www/****.com/即为虚拟主机位置
6、安装php
终端输入:1sudo 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
7、安装spawn-fcgi(控制php5-cgi的)
终端输入:sudo apt-get install spawn-fcgi
8、在Nginx中配置spawn-fcgi(这里可以通过命令修改可以通过nano命令找到文件修改)
(1)在/etc/nginx/fastcgi_params文件最后添加"fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;"
(2)sudo sed -i '$ i fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' /etc/nginx/fastcgi_params
9、修改php-cgi的配置文件,把cgi.fix_pathinfo设置为1
终端输入:sudo sed -i '/cgi.fix_pathinfo=/ c cgi.fix_pathinfo=1;' /etc/php5/cgi/php.ini
10、开启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"
(3)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
11、设置Nginx中虚拟主机配置(最重要的部分)
(1)sudo vim /etc/nginx/sites-available/****.com *文件名任意
(2)修改****.com配置文件,添加如下内容
server {
listen 80; #WordPress的访问端口(默认80)
server_name ***.com www.***.com; #主机名称,绑定的域名
root /var/www/***.com; #虚拟主机根目录
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
12、软链接至sites-enabled文件夹
终端输入:sudo ln -s /etc/nginx/sites-available/linuxidc.com /etc/nginx/sites-enabled/
13、安装wordpress(修改文件不熟悉命令可以通过nano修改文件)
终端输入:cd /var/www/***.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 #需将命令中的中文替换为对应值
14、最后启动Nginx
终端输入:sudo /etc/init.d/nginx restart
全部工作完成可以通过http://localhost访问网站 http://localhost/phpmyadmin访问数据库。
以上是我跟人的经验总结,不算是最完美的过程,但至少我是成功了,如果你在安装过程中遇到问题可以加我QQ646378032或是留我邮件[email protected]。