Heim >Backend-Entwicklung >PHP-Tutorial >Ubuntu12.04配置nginx+php+mysql

Ubuntu12.04配置nginx+php+mysql

WBOY
WBOYOriginal
2016-06-20 12:58:071020Durchsuche

1、添加ubuntu nginx更新镜像源

sudo vi /etc/opt/source.list

添加:deb http://nginx.org/packages/ubuntu/ precise nginx 

 deb-src http://nginx.org/packages/ubuntu/ precise nginx


 2、更新软件包源:

sudo apt-get update

出现如下错误:W: GPG 错误:http://nginx.org precise Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY ABF5BD827BD9BF62

解决办法:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62

3、重新执行:sudo apt-get update

                    sudo apt-get install nginx

出现如下错误:etting up nginx (1.6.3-1~precise) ...

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] still could not bind()

invoke-rc.d: initscript nginx, action "start" failed.

原因:80端口被已经被其它进程使用。

解决办法:更改nginx服务绑定端口为88端口。sudo vi /etc/nginx/conf.d/default.conf 

更改:server {

    listen       88;

    server_name  localhost;


    #charset koi8-r;

    #access_log  /var/log/nginx/log/host.access.log  main;


    location / {

        root   /usr/share/nginx/html;

        index  index.html index.htm;

    }

4、启动nginx

sudo /etc/init.d/nginx start

5、检查nginx版本

nginx -v

6、配置php+mysql

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

7、安装FastCgi

sudo apt-get install spawn-fcgi

8、配置nginx

 sudo vi /etc/nginx/conf.d/default.conf

 location / {

        root   /usr/share/nginx/html;

        index  index.php index.html index.htm;#添加index.php

    }

9、重启nginx

sudo /etc/init.d/nginx restart

10、启动fastcig php

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi & #这里注意:我第一次加了&才行,还不知道为什么

参数含义如下
* -f 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
* -a 绑定到地址addr
* -p 绑定到端口port
* -s 绑定到unix socket的路径path
* -C 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
* -P指定产生的进程的PID文件路径
* -u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等现在可以在web根目录下放个探针或php文件测试一下了

来源: 

 

11、加入开机启动:

sudo vi  /etc/rc.local 

把/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi 加到exit 0前。

12、no input file specified错误

sudo vi /etc/nginx/conf.d/default.conf

其中这个字段

location ~ .php$ { 

root html; 

fastcgi_pass 127.0.0.1:9000;

 fastcgi_index index.php; 

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

 include fastcgi_params;

 }

注意

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

/usr/share/nginx/html 改为你的网站根目录,一般就是改成这个。 

server 字段下root 目录和网站根目录保持一致

13、使用雅黑探针来探测web服务器:下载雅黑探针php文件―tz.php到/usr/share/nginx/html

#sudo chown ngixn tz.php

#sudo chmod u+rwz tz.php

通过浏览器输入localhost:88/tz.php来查看web服务状态。

14、 安装discuz论坛

    (1)在/usr/share/nginx/html下新建目录bbs:#mdir bbs ,下载discuz X3.1版本discuz.zip并上传到bbs中

    (2)#sudo unzip discuz.zip

    (3)#sudo chmod -R 777 discuz

    (4)在浏览器中输入localhost:88/bbs/upload/install,开始安装论坛。



 



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求大神,smarty错误Nächster Artikel:安装appserv后怎么编写php代码