《在 Debian 上源码编译和安装 Nginx+PHP+FastCGI+MySQL

 

操作基于   5.0 VPS 256MB上测试通过,// 都采用当前最新稳定源代码版本。

安装必备软件包

# aptitude install libtidy-dev curl libcurl4-openssl-dev libcurl3 \ libcurl3-gnutls zlib1g zlib1g-dev libxslt1-dev libzip-dev libzip1 \ libxml2 libsnmp-base libsnmp15 libxml2-dev libsnmp-dev libjpeg62 \ libjpeg62-dev libpng12-0 libpng12-dev zlib1g zlib1g-dev libfreetype6 \ libfreetype6-dev libbz2-dev libxpm-dev libmcrypt-dev libmcrypt4 \ sqlite3 bzip2 build-essential libreadline5-dev libedit-dev autoconf

编译和安装 MySQL

下载和编译 MySQL,但是先不要安装:


# wget http://mysql.mirror.rafal.ca/Downloads/MySQL-5.1/mysql-5.1.50.tar.gz
# tar zxvf mysql-5.1.50.tar.gz
# cd mysql-5.1.50
# ./configure \ –prefix="/usr/local/mysql-5.1.50" \ –enable-thread-safe-client \ –with-extra-charsets=all
# make

需要改几个权限问题才能安装 MySQL,否则会出现 Access denied for user ‘root’@'localhost’ (using password: NO) 经典问题:

# groupadd mysql
# useradd -g mysql mysql
# cp support-files/my-small.cnf /etc/my.cnf
# vi /etc/my.conf … [mysqld] user = mysql …
# chown -R mysql:mysql /usr/local/mysql-5.1.50/
# chmod 777 /tmp

安装和启动 MySQl,修改 root 密码,登录 MySQL:

# cd mysql-5.1.50
# make install
# /usr/local/mysql-5.1.50/bin/mysql_install_db –user=mysql
# /usr/local/mysql-5.1.50/bin/mysqld_safe &
# /usr/local/mysql-5.1.50/bin/mysqladmin -u root password 'new-password'
# /usr/local/mysql-5.1.50/bin/mysql -u root -p

编译和安装 PHP

先下载 PHP 软件包,然后配置、编译,这里采用 php 5.2 分支的最新稳定代码:

# wget http://www.php.net/get/php-5.2.13.tar.bz2/from/us.php.net/mirror
# tar jxvf php-5.2.13.tar.bz2
# cd php-5.2.13
# ./configure \ –prefix="/usr/local/php-5.2.13" \ –with-mysql="/usr/local/mysql-5.1.50" \ –with-gd \ –with-ttf \ –with-openssl \ –enable-mbstring \ –enable-
# make && make install

编译和安装 Nginx

下载、配置和编译安装 nginx,注意编译 nginx 需要额外安装几个软件包:

# wget http://nginx.org/download/nginx-0.7.67.tar.gz
# tar zxvf nginx-0.7.67.tar.gz
# aptitude install libgcrypt11-dev libpcre3 libpcre3-dev libssl-dev
# cd nginx-0.7.67
# ./configure –prefix="/usr/local/nginx-0.7.67" –with-http_ssl_module # make && make install

编译和安装 FastCGI

Nginx 需要 FastCGI 的支持才能运行 PHP 脚本,从 lighttpd 下载、编译和安装 spawn-fcgi:

# wget http://www.lighttpd.net/download/spawn-fcgi-1.6.2.tar.bz2
# tar jxvf spawn-fcgi-1.6.2.tar.bz2
# cd spawn-fcgi-1.6.2
# ./configure –prefix="/usr/local/php-5.2.13"
# make && make install

启动 FastCGI:

# /usr/local/php-5.2.13/bin/spawn-fcgi -a 127.0.0.1 -p 9000 \ -u www-data -g www-data -f /usr/local/php-5.2.13/bin/php-cgi \ -P /var/run/fastcgi-php.pid

编辑 Nginx 的配置文件,让 php 脚本被发送到 FastCGI 服务器由 FastCGI 处理,然后启动 nginx:

 

# vi /usr/local/nginx-0.7.67/conf/nginx.conf …
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
# location ~ \.php$ {
#root html; root /usr/local/nginx-0.7.67/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx-0.7.67/html$fastcgi_script_name; include fastcgi_params; } …
# /usr/local/nginx-0.7.67/sbin/nginx -c /usr/local/nginx-0.7.67/conf/nginx.conf

安装 Nginx+FastCGI+PHP 完后测试一下是否 PHP 页面能否被正确解析,在 html 下创建一个含有 phpinfo(); 函数的文件,最后打开浏览器检查下面的 index.php 能否被正确执行。:

# vi /usr/local/nginx-0.7.67/html/index.php phpinfo();

编译源代码需要消耗大量内存,我们只建议 256MB 或以上 VPS 用户使用源码方式安装。

via{vpsee.com}

原创文章,转载请注明: 转载自PT Ubuntu Blog

本文链接地址: http://www.ptubuntu.com/2010/08/3798.html

Share

{ 发表评论? }

  1. Firm

    好像都有些出框了

  2. 宁波SEO

    博主啊把这个分析的比较详细,很有用

  3. ubuntusoft

    mark

  4. joyla

    这个我要收藏!呵呵

  5. 新中桥手机

    恩 不错,收藏了

  6. 济南SEO

    学习了呵呵

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Verify Code   If you cannot see the CheckCode image,please refresh the page again!