Symfony2.4 配置web服务器步骤

作者:袖梨 2022-06-25

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;
}
}

相关文章

精彩推荐