yaf的网站部署

一、nginx配置

1、nginx简单配置

其实和部署其他php项目的配置并没有明显的区别,只不过为了url更加友好,一般需要隐藏index.php,个人推荐使用try_files

  1. location / {
  2. root /webroot/www;
  3. index index.html index.htm index.php;
  4. try_files $uri $uri/ /index.php;
  5. }

注:

  • $uri是nginx的内置变量,表示当前请求uri

  • try_files表示依次匹配url的规则,上面的例子表示如果$uri不存在,则匹配$uri/,如果$uri/也不存在,则把请求转向到/index.php

2、nginx完整配置
  • 假如域名是www.shixinke.com

  • 项目目录:/webroot/www/mtest

  • 项目目录结构如下:

配置如下:

  1. server {
  2. listen 80;
  3. server_name www.shixinke.com;
  4. access_log logs/www.shixinke.com.access.log main;
  5. error_log logs/www.shixinke.com.error.log;
  6. location / {
  7. root /webroot/www/mtest/public;
  8. index index.html index.htm index.php;
  9. try_files $uri $uri/ /index.php;
  10. }
  11. error_page 404 /404.html;
  12. error_page 500 502 503 504 /50x.html;
  13. location = /50x.html {
  14. root /webroot/www/mtest/public;
  15. }
  16. location ~ \.php {
  17. root /webroot/www/mtest/public;
  18. fastcgi_pass 127.0.0.1:9000;
  19. fastcgi_index index.php;
  20. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  21. include fastcgi_params;
  22. }
  23. }

二、PHP配置

1、前提是已经安装Yaf扩展,并启用yaf扩展,即在php.ini中打开yaf
  1. extension=yaf.so
2、对于yaf的一些配置

下面的配置是针对生产环境的:如果不开启命名空间的话,则应该注释掉第二行

  1. yaf.environ=product
  2. yaf.use_namespace=1
  3. yaf.cache_config=1
3、重启php-fpm让配置生效(如果是php作为apche的一个模块,则重启apache)