安装nginx+mysql+php


 

接口服务器需要安装nginx+mysql+php

 

一、安装nginx(参照资源服配置)

 

二、安装mysql (参照游戏服配置中mysql安装部分)

 

三、安装php

        这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没有的。在之前,很多朋友都搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP需要     PHP生成可执行文件才可以,所以要利用fastcgi技术来实现Nginx与PHP的整合,这个只要我们安装是启用FastCGI即可。此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件存在,在安装PHP要想使用PHP-FPM时就需要把PHP-FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记!

      

         yum install libxml2 libxml2-devel

         yum install libpng*

         yum install gd

 

     

         tar zxvf php-5.2.13.tar.gz

         gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1        //将php-5.3.0-fpm-0.5.12.diff.gz以补丁形式加到php-5.3.0里面

         cd php-5.2.13

         ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm

      

         make

         make install

         cp php.ini-dist /usr/local/php/etc/php.ini

 

 

         注:Nginx+PHP整合,在安装时必须启用--enable-fastcgi和--enable-fpm

 

         /usr/local/php/sbin/php-fpm start

 

          在启动PHP-FPM时会报上面这个错误,原因是PHP-FPM自己不知道以那个用户和组运行PHP,所以我们要修改一个文件,把文件中的注释去掉即可(打开文件把红色部分删除),然后PHP-FPM会以nobody用户和组去运行PHP。

 

           vi /usr/local/php/etc/php-fpm.conf

 

          /usr/local/php/sbin/php-fpm start

          ps -aux | grep php

 

          echo "/usr/local/php/sbin/php-fpm start"  >>/etc/rc.local

 

 

          Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,下面我们打开Nginx的配置文件看一下

 

          vi /usr/local/nginx/conf/nginx.conf      

 

     

 

 

        

           注:上面的/var/www/html 是我们PHP网站放置的路径

          如上图所示,我们在前面已经看到过Nginx是通过本机的9000端口将PHP请求转发给PHP的,而上图我们可以看到PHP自己是从本机的9000端口侦听数据,Nginx与PHP通过本机的9000 端口完成了数据请求。

 

 

 

 四、 测试

 

 

          vi /var/www/html/test.php

       

           <?php

               phpinfo();

           ?>

 

        杀死进程并启动

         pkill php

         pkill nginx

         /usr/local/php/sbin/php-fpm start

         /etc/rc.d/init.d/nginx start

        重启PHP与nginx后(可以用杀死进程的方式关闭,然后在启动)我们在浏览器中输入http://本机IP/test.php

 

另外接口测试参考接口文档

 

 

为接口服授权:

grant all on shuihu.account to "test"@"192.168.1.22" identified by "123456";

 

隐藏版本号

 

编辑nginx.conf

vi /usr/local/nginx/conf/nginx.conf

在keepalive_timeout 65; 这行下面添加server_tokens      off;

 

修改fastcgi.conf

vi /usr/local/nginx/conf/fastcgi.conf

 

把fastcgi_param SERVER_SOFTWARE    nginx/$nginx_version;

修改为fastcgi_param SERVER_SOFTWARE    nginx

 

[root@~]# curl --head 127.0.0.1

HTTP/1.1 403 Forbidden

Server: nginx

Date: Thu, 04 Aug 2011 07:41:54 GMT

Content-Type: text/html

Content-Length: 162

Connection: keep-alive

 

重启nginx

service nginx restart

或则平滑重启nginx

 

再检查一下配置文件:

 

/usr/local/nginx/sbin/nginx -t

 

如果屏幕显示以下两行信息,说明配置文件正确:

the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok

the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully

 

平滑重启:

对于Nginx 0.8.x版本,现在平滑重启Nginx配置非常简单,执行以下命令即可:

 

/usr/local/nginx/sbin/nginx -s reload

相关内容

    暂无相关文章