论坛首页 综合技术论坛

ubuntu 安装 nginx+php+mysql+phpmyadmin(转)

浏览 4870 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-04-29  

nginx 号称支持高负载的 http 服务器。上次安装 nginx 就是因为 php 老是装不上,来回折腾源、编译等,导致新利得出错。。。这次再次折腾,终于搞定,步骤如下:

安装 php+phpmyadmin

sudo apt-get install php5-cli php5-cgi php5-mysql
sudo apt-get install phpmyadmin

mysql

sudo apt-get install mysql-server

默认无密码,可以这样修改

以下为引用内容:

/etc/init.d/mysql stop

Then update the user table

mysqld –skip-grant-tables –skip-networking &

mysql mysql

UPDATE user SET password=PASSWORD(’yourrootpassword’) WHERE User=”root” AND Host=”localhost”;

quit

/etc/init.d/mysql restart


也可以在 phpmyadmin 中修改。

安装 nginx

wget http://technokracy.net/nginx/nginx_0.5.32~grrr-1_i386.deb
dpkg -i nginx_0.5.32~grrr-1_i386.deb

修改 nginx 配置文件

sudo vim /etc/nginx/sites-available/default

找到 location ~ \.php$ {… 部分,修改为

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

让 nginx 侦听 9000 端口,用 spawn-fcgi 方式运行 php。

安装 spawn-fcgi。用 lighttpd 中的 spawn-fcgi。

wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure
make
cp src/spawn-fcgi /usr/bin/spawn-fcgi

注意:并没有安装 lighttpd,只是拿出里面的 spawn-fcgi。(make 而没有 install)

安装 php-fastcgi

touch /usr/bin/php-fastcgi
sudo vim /usr/bin/php-fastcgi
sudo chmod 755 /usr/bin/php-fastcgi

添加如下内容

#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi

新建 init-fastcgi

touch /etc/init.d/init-fastcgi
sudo vim /etc/init.d/init-fastcgi

内容为

#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case “$1″ in
start)
$PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php
RETVAL=$?
;;
restart)
killall -9 php
$PHP_SCRIPT
RETVAL=$?
;;
*)
echo “Usage: php-fastcgi {start|stop|restart}”
exit 1
;;
esac
exit $RETVAL

修改 fcgi 的执行权限

chmod 755 /etc/init.d/init-fastcgi

开机后自动启动

update-rc.d init-fastcgi defaults

写一个 .php文件测试。

注意:如果安装过 apache 的话,nginx 会启动在 8000 端口。在 /etc/nginx/sites-available/default 中修改为 80

server {
listen 80;

重启nginx

sudo /etc/init.d/nginx restart

BTW:相比之下还是 lighttpd 的文档多一些,效率也不错。nginx 到底如何,用用再说。

参考 How To Install A Complete LEMP (Linux - EngineX (Nginx HTTP SERVER) - Mysql - PHP) Server (Not LAMP…) On Ubuntu/Debian

Popularity: 24% [? ]

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics