如何与 Laravel 一起安装其他应用程序?
How do I install other applications alongside Laravel?
我正在 Laravel 5.2 建立一个网站,而不是从头开始建立一个论坛,我希望安装一个 SMF.
Laravel 当前位于我的 Web 服务器的根目录中,我希望将其保留在那里,因为我希望将 SMF 安装在一个文件夹中。
例如:www.example.com/smf
我想将它安装在 Laravel 的 /public
文件夹中,但我担心它们会相互冲突。 /public
文件夹是安装 SMF 的正确位置吗?我应该使用指向 SMF 文件夹的路径吗?
服务器:D.O droplet via Laravel Forge
您可以使用 Nginx 将 www.example.com/smf
重定向到您的 SMF 安装。为此,请将此添加到您的 server
区块:
location /smf {
# nginx will concatenate the string above with the root value
# so your SMF files should be in "/path/to/smf/parent/dir/smf".
# Make sure that Nginx can access them.
root "/path/to/smf/parent/dir";
# change this config to suit your needs
index index.php index.html index.htm;
location ~ \.php$ {
# Here use the same config from the server block that allows you
# to execute PHP scripts
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我应该补充几件事:
- 编辑前备份配置文件。
- 虽然我已经尝试了上面的代码(并且它在我的机器上运行™)我必须说我不是 Nginx 专家。
您需要为要使用的文件夹添加自定义规则之前 Laravel相关规则:
location /smf/index.php(/.*)?$ {
fastcgi_split_path_info ^(/smf/index.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
location /smf/ {
if (!-e $request_filename) {
rewrite ^.*$ /smf/index.php last;
}
try_files $uri $uri/ smf/index.php?args;
}
请寻找示例 nginx config file here。
我正在 Laravel 5.2 建立一个网站,而不是从头开始建立一个论坛,我希望安装一个 SMF.
Laravel 当前位于我的 Web 服务器的根目录中,我希望将其保留在那里,因为我希望将 SMF 安装在一个文件夹中。
例如:www.example.com/smf
我想将它安装在 Laravel 的 /public
文件夹中,但我担心它们会相互冲突。 /public
文件夹是安装 SMF 的正确位置吗?我应该使用指向 SMF 文件夹的路径吗?
服务器:D.O droplet via Laravel Forge
您可以使用 Nginx 将 www.example.com/smf
重定向到您的 SMF 安装。为此,请将此添加到您的 server
区块:
location /smf {
# nginx will concatenate the string above with the root value
# so your SMF files should be in "/path/to/smf/parent/dir/smf".
# Make sure that Nginx can access them.
root "/path/to/smf/parent/dir";
# change this config to suit your needs
index index.php index.html index.htm;
location ~ \.php$ {
# Here use the same config from the server block that allows you
# to execute PHP scripts
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我应该补充几件事:
- 编辑前备份配置文件。
- 虽然我已经尝试了上面的代码(并且它在我的机器上运行™)我必须说我不是 Nginx 专家。
您需要为要使用的文件夹添加自定义规则之前 Laravel相关规则:
location /smf/index.php(/.*)?$ {
fastcgi_split_path_info ^(/smf/index.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
location /smf/ {
if (!-e $request_filename) {
rewrite ^.*$ /smf/index.php last;
}
try_files $uri $uri/ smf/index.php?args;
}
请寻找示例 nginx config file here。