Nginx,原生PHP 搭建小型web app

0 篇文章 0 订阅


代码地址: https://github.com/wuyunfeng/Simple-PHPWeb-RestMobileAPI


> 快速部署一个简单的Nginx,原生PHP小框架 给手机端App提供简单API接口,实现快速开发,不再依赖后端


## Fist Step


安装`nginx`,如果你是Mac,那么你只需要一句命令行就可以搞定

brew install nginx
安装的位置在/usr/local下,这时候你需要找到nginx的配置文件`nginx.conf`,推荐的做法是建立一个`vhost`文件夹,单独写一个`xxx.conf`,配置模版如下:

server
{
listen 10000;
server_name `your ip address`;
#index index.html index.htm index.php;
index index.php;
root "/path/to/simple-php-webapp/public";
access_log "/path/to/your_name.log" main;
try_files $uri $uri/ /index.php?$args;
location ~ .*\.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
    }
    location ~ /\.(ht|svn|git) 
    {
        deny all;
    }
}
在这个配置文件中,我们通过`try_files`指令,将收到的请求重定向至`index.php`,然后启动nginx,mac 下如下:

sudo nginx


##Second Step


安装`PHP`,如果你是Mac,那么你只需要一句命令行就可以搞定

brew install php

然后找到`php.ini`, `php-fpm.ini`进行简单的配置,然后启动`PHP-FPM`,Mac 下如下:


sudo php-fpm
保证`php-fpm`对一些日志文件有权限,能不给root权限的情况下尽量不要给


##Thrid Step


以上两步完成后,在浏览器里输入:


http://127.0.0.1:10000/api/list/get?name=wuyunfeng
如果浏览器有`Json`输出,这时候你已经可以开发简单的Mobile API了,`/api/list/get` 是简单的将你请求中包含的`get`参数进行`Json`序列化后输出(当然`api`是在程序里`hard code`的,你可以修改)
`MobileAPIController`对此输出进行负责


现在,你要开发属于你自己的业务了:




   * 将你喜欢的/list/get写在route.php中,叫`路由`步骤,就是找到你要执行的代码
   
   
    return array(
    "GET" => array(
        "list" => array(
            "get" => "MobileAPIController@executePrintGetAction",
        )
    ),
    "POST" => array(
        "list" => array(
            "post" => "MobileAPIController@executePrintPostAction",
        )
    ),
);




* 自定义你自己的控制器,如果你需要打日志,可以直接继承`BaseController`




class MobileAPIController extends BaseController
{


    //do request request log
    function __construct()
    {
        parent::__construct();
    }


    function executePrintGetAction()
    {
        Response::make(array(
            'format' => Response::FORMAT_JSON,
            'response' => $_GET
        ));
    }


    function executePrintPostAction()
    {
        Response::make(array(
            'format' => Response::FORMAT_JSON,
            'response' => $_GET
        ));
    }


}





* Response提供简单的输出封装,第2步中对输出进行`Json`序列化封装,如果你懂PHP那么一看明了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值