日期:2014-05-16  浏览次数:20738 次

在Ubuntu上安装Nginx+PHP+MYSQL+phpmyadmin

在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

?

?

全部工作完