发布时间:2014-09-05 17:07:04作者:知识屋
接口服务器需要安装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
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能