美文网首页自留地
phalcon框架的nginx配置

phalcon框架的nginx配置

作者: zlxbuzz | 来源:发表于2015-11-19 13:58 被阅读3067次

phalcon是由C编写的php框架,通过扩展的形式加载,所以速度非常快。这里我记录下遇到的一些问题,以便大家学习和自己的提高。

安装phalcon

由于我是debian系统,所以首先https://phalconphp.com/en/download下载,通过编译成so扩展:


git clone --depth=1 git://github.com/phalcon/cphalcon.git

cd cphalcon/build

sudo ./install

之后会生成在php的扩展目录extension-dir(可以通过命令 php-config 查看具体的路径),之后将phalcon.so引入到php.ini中。

引入的方法有很多,这里由于debian按照不同的运行模式配置php,我就写一下到nginx的配置:


sudo touch /etc/php5/mod-available/phalcon.ini

之后写上extension=phalcon.so,然后


cd /etc/php5/fpm/conf.d/ #nginx 的php配置环境fpm

sudo ln -s /etc/php5/mod-available/phalcon.ini phalcon.ini #设置软连接

sudo systemctl restart php5-fpm.service #重启php-fpm

最后可以在phpinfo()中看到phalcon信息,则说明加载成功

安装Phalcon Developer Tools工具

Phalcon Developer Tools是phalcon的一款自动生成目录结构的工具,理论上phalcon没有固定的目录结构,可以随时使用。

安装Phalcon Developer Tools的方法有很多http://phalcon.5iunix.net/reference/tools.html,我介绍下最方便的。

通过Composer或者PEAR的方式由于国内的原因,不一定能成功。所以我这边通过git直接下载:


git clone https://github.com/phalcon/phalcon-devtools.git #git上下载

cd phalcon-devtools

ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon #设置全局的环境变量

chmod ugo+x /usr/bin/phalcon #给所有`u:自己 g:同组 o:其他`人都有有执行的权限

如果没问题,之后就可以用了

zhonglingxiao@aa:/etc/php5/apache2$ phalcon

Phalcon DevTools (2.0.3)

Available commands:
  commands (alias of: list, enumerate)
  controller (alias of: create-controller)
  model (alias of: create-model)
  all-models (alias of: create-all-models)
  project (alias of: create-project)
  scaffold (alias of: create-scaffold)
  migration (alias of: create-migration)
  webtools (alias of: create-webtools)

生成结构并且配置

phalcon create-project store #生成目录

nginx中进行配置

cd /etc/nginx/site-available/ #进入配置目录
sudo vi phalcon-hosts.conf #创建配置文件

phalcon-hosts.conf添加

server {
       listen 80;#80端口
       listen [::]:80;
       server_name phalcon.com;
       root /home/zhonglingxiao/learnphp/phalcon/store;
       index index.php index.html;
       location ~ \.php$ {

               include snippets/fastcgi-php.conf;
              fastcgi_pass unix:/var/run/php5-fpm.sock;
              fastcgi_param SCRIPT_FILENAME /home/zhonglingxiao/learnphp/phalcon/store$fastcgi_script_name;
              include fastcgi_params;
        }
         location /{
                  rewrite ^$ public/ last;
                  rewrite ^(.*)$  /public/index.php?_url=$1 last;#重写的规则

        }
}

之后:

cd /etc/nginx/site-enable/
sudo ln -s /etc/nginx/site-available/phalcon-hosts.conf phalcon-hosts.conf

然后修改host,127.0.0.1 phalcon.com
之后重启nginx就好了 sudo systemctl restart nginx.service;
如果没问题的话,输入phalcon.com,就ok了~

相关文章

网友评论

    本文标题:phalcon框架的nginx配置

    本文链接:https://www.haomeiwen.com/subject/zlslhttx.html