phalcon框架的nginx配置

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了~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,781评论 24 1,002
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • Welcome 目前网络上充斥着大量的陈旧信息,让PHP新手误入歧途,传播着错误的实践和糟糕的代码,这必须得到纠正...
    layjoy阅读 21,723评论 7 118
  • 为了增进彼此的了解,问话的技巧可以说是一个很有价值的方式,但是有时候它可能没办法使你更加了解对方,反而带来更大的混...
    Fly_Catkin阅读 695评论 0 0
  • “我才25岁,可我觉得我的人生已经过了一辈子那么长了。” 她叫八月,她说她是在八月出生的,所以她的父母给她起名叫八...
    赤子吧啦啦阅读 328评论 1 4