一聚教程网:一个值得你收藏的教程网站

热门教程

Symfony2.4 配置web服务器步骤

时间:2022-06-25 02:49:19 编辑:袖梨 来源:一聚教程网

Symfony要想在web服务器中正常运行需要进行简单的配置:

Apache2

 代码如下 复制代码

    ServerName  www.111com.net
    ServerAlias  www.111com.net
    DocumentRoot  /data/www/www.111com.net /web/web
 
    ErrorLog /data/www/www.111com.net /logs/error.log
    CustomLog /data/www/www.111com.net /logs/access.log combined
    DirectoryIndex index.php index.html
 
   
        Options +Includes -Indexes
        AllowOverride All
        Require all granted
        php_admin_value open_basedir /data/www/www.111com.net /web:/tmp
   


如果你的Apache版本不是2.4,那么需要将  Require all granted 替换为:

Apache

Order allow,deny
Allow from All
 
Nginx

目前我还没有在Nginx下运行Symfony2.4,所以这里就不贴Nginx的配置了。哪天我配置Nginx环境的话,会在这里贴出来。

以下配置以example.com作为域名,Nginx站点根目录指向Symfony2应用的web文件夹。PHP以FastCGI方式运行。

提醒 此配置仅允许web目录下app.php和app_dev.php两个入口文件以PHP脚本方式运行,web目录下存在的其他PHP文件如果被访问,将被用户下载。

 代码如下 复制代码

server {
  listen 80;

  server_name example.com; # 域名
  root /var/www/symfony2/web; # 站点根目录

  error_log /var/log/nginx/symfony2.error.log;
  access_log /var/log/nginx/symfony2.access.log;

  # 如果URL中包含app.php,则转发为伪静态格式
  rewrite ^/app\.php/?(.*)$ /$1 permanent;

  location / {
    index app.php;
    try_files $uri @rewriteapp;
  }

  location @rewriteapp {
    rewrite ^(.*)$ /app.php/$1 last;
  }

  # 此段为将PHP请求转交给FastCGI服务,PHP-FPM是非常流行的选项。
  location ~ ^/(app|app_dev)\.php(/|$) {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  HTTPS              off;
  }
}

以下为HTTPS配置:

 代码如下 复制代码

server {
  listen 443;

  server_name example.com;
  root /var/www/symfony2/web;

  ssl on;
  ssl_certificate      /etc/ssl/certs/symfony2.crt;
  ssl_certificate_key  /etc/ssl/private/symfony2.key;

  error_log /var/log/nginx/symfony2.error.log;
  access_log /var/log/nginx/symfony2.access.log;

  rewrite ^/app\.php/?(.*)$ /$1 permanent;

  location / {
    index app.php;
    try_files $uri @rewriteapp;
  }

  location @rewriteapp {
    rewrite ^(.*)$ /app.php/$1 last;
  }

  location ~ ^/(app|app_dev)\.php(/|$) {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  HTTPS              on;
  }
}

热门栏目