您好,欢迎访问一九零五行业门户网

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文件吧,好了
不多说来,有时间下次再多介绍些
其它类似信息

推荐信息