日期:2014-05-16 浏览次数:20790 次
在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
?
?
全部工作完