ubuntu 10.10 nginx+php+php-fpm+mysql简单搭建实现

首先,我们需要安装MYSQL,在UBUNTU下安装很简单,你只需要使用一下命令即可简单安装MYSQL的服务端:

sudo apt-get install mysql-server

安装玩MYSQL服务端后,我们就需要来安装NGINX了,最好使用官方PPA源来最新安装:

你可以打开https://launchpad.net/~nginx/+archive/development,并参考其说明,

在UBUNTU的source.d文件中加入以下源:命令如下:

sudo gedit /etc/apt/sources.list

来打开源文件加入一下地址:

deb http://ppa.launchpad.net/nginx/development/ubuntu maverick main

deb-src http://ppa.launchpad.net/nginx/development/ubuntu maverick main

然后在命令行增加key,
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE9

在使用这个命令时,你会发现,报:

gpg:"C300EE9"不是一个用户标志:跳过,

这是因为服务器hpk服务器并不能识别此KEY的标志,你需要重新向其服务器进行获取,使用以下命令即可:

gpg --keyserver subkeys.pgp.net --recv-keys DA360C64005E0276

可得到信息:

gpg: 已创建目录'/home/jankey/.gnupg'

.......

OK这样我们就可以获得一个KEY:005E0276

然后在使用命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 005E0276

再下来我们就可以安装Nginx了:

使用命令:

sudo apt-get install nginx

安装完后就实安装phpy+php-fpm以及其他可能需要的模块了,使用如下命令:

sudo apt-get install php5-cgi php5-mysql php5-fpm 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-sqlite php5-tidy php5-xmlrpc php5-xsl

以上就成功安装,

接下来就是简单的配置了:

首先配置php.ini文件:

当然如果你出现安装php5-fpm不成功的话,请在var下创建www文件后,然后使用命令:

sudo apt-get install php5-fpm

来进行安装,

以上都OK了的话,现在就让我们来打开文件:

sudo gedit /etc/php5/fpm/php.ini

然后修改:#cgi,fix_pathinfo=1  修改成 cgi.fix_pathinfo=0

其次修改:

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

# You may add here your
# server {
#    ...
# }
# statements for each of your virtual hosts

server {

    listen   80; ## listen for ipv4
    listen   [::]:80 default ipv6only=on; ## listen for ipv6

    server_name  localhost;
    root   /var/www;
    access_log  /var/log/nginx/localhost.access.log;

    #access_log /var/www/log/xxx-access.log;
    #error_log /var/www/logs/xxx-error.log;

    location / {
        index  index.php index.html index.htm;
    }

    location /doc {
        root   /usr/share;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    location /images {
        root   /usr/share;
        autoindex on;
    }

    #error_page  404  /404.html;

    # redirect server error pages to the static page /50x.html
    #
    #error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #    root   /var/www/nginx-default;
    #}

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
        #proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen   8000;
#listen   somename:8080;
#server_name  somename  alias  another.alias;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}


# HTTPS server
#
#server {
#listen   443;
#server_name  localhost;

#ssl  on;
#ssl_certificate  cert.pem;
#ssl_certificate_key  cert.key;

#ssl_session_timeout  5m;

#ssl_protocols  SSLv3 TLSv1;
#ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#ssl_prefer_server_ciphers   on;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}


修改上面后,接下来还需要修改:

sudo gedit /etc/nginx/fastcgi_params 对其增加:


fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  PATH_INFO          $fastcgi_script_name;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

完成以上后就基本OK了,记得在你修改某个文件的时候不要忘了使用这个命令:

sudo ./..  需要修改的文件 cp ./对其备份

这样以防你对其某个文件修改后,如果出现错误修改就可以参考备份后的原始文件进行修复,这是一个习惯,请注意

接下来我们就需要重启nginx与php-fpm了,使用如下命令:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm reload

这样就完全完成了我们今天所要达到的目的,看看是否成功搭建了,在/var/www下创建一个index.php文件吧,好了

不多说来,有时间下次再多介绍些


posted @ 2011-07-24 23:56  移动应用开发  阅读(386)  评论(0编辑  收藏  举报