找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 571|回复: 0

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

[复制链接]
发表于 2010 年 10 月 2 日 13:14:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

下面的操作步骤在我们的 256MB Debian 5.0 VPS 上测试通过,Nginx/PHP/MySQL 都采用当前最新稳定源代码版本。


安装必备软件包
  1. 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,但是先不要安装:

  1. 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) 经典问题:

  1. 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:

  1. 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 分支的最新稳定代码:

  1. 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-fastcgi
    make && make install
复制代码
编译和安装 Nginx

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

  1. 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:

  1. 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:

  1. /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:

  1. # 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 能否被正确执行。:

  1. vi /usr/local/nginx-0.7.67/html/index.php
    phpinfo();
复制代码

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



Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 3 日 17:58 , Processed in 0.024665 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表