我有一个引用文件结构的配置文件。这是我所拥有的
<?php
// HTTP
define('HTTP_SERVER', 'http://XXXX.co.uk/public_html/');
define('HTTP_IMAGE', 'http://XXXX.co.uk//public_html/image/');
define('HTTP_ADMIN', 'http://XXXX.co.uk//public_html/admin/');
// HTTPS
define('HTTPS_SERVER', 'http://XXXX.co.uk//public_html/');
define('HTTPS_IMAGE', 'http://XXXX.co.uk//public_html/image/');
// DIR
define('DIR_APPLICATION', '/home/XXXX/public_html/catalog/');
define('DIR_SYSTEM', '/home/XXXX/public_html/system/');
define('DIR_DATABASE', '/home/XXXX/public_html/system/database/');
define('DIR_LANGUAGE', '/home/XXXX/public_html/language/');
define('DIR_TEMPLATE', '/home/XXXX/public_html/view/template/');
define('DIR_CONFIG', '/home/XXXX/public_html/system/config/');
define('DIR_IMAGE', '/home/XXXX/public_html/image/');
define('DIR_CACHE', '/home/XXXX/public_html/system/cache/');
define('DIR_DOWNLOAD', '/home/XXXX/public_html/download/');
define('DIR_LOGS', '/home/XXXX/public_html/system/logs/');
// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'XXXX_com1');
define('DB_PASSWORD', 'XXXXXXXXX');
define('DB_DATABASE', 'XXXX_com1');
define('DB_PREFIX', 'oc_');?>
现在,只要代码库在一台服务器上,它就可以工作,但是我想将某些目录移动到另一台服务器。
define('DIR_SYSTEM', '/home/XXXX/public_html/system/');
define('DIR_DATABASE', '/home/XXXX/public_html/system/database/');
define('DIR_LANGUAGE', '/home/XXXX/public_html/language/');
两台服务器都将是 ubuntu 服务器。最好的方法是什么?我有点迷茫,不知道如何实现这一点
谢谢
答案1
这取决于你想做什么。你无法真正将代码库的任意部分移动到另一台服务器。我的意思是,你可以,但那很愚蠢。处理仍将在主服务器上进行。充其量,你最终会得到一个几乎无法管理且完全无法扩展的共享和符号链接大杂烩。
但是,你可以将代码的完整“功能”封装为单独的应用程序,并在单独的 Web 服务器上运行它们。例如,让所有用户图像处理http://images.XXXX.co.uk/。该服务器将负责上传、存储、记录到数据库以及提供用户提交的图像。
然后将 HTTP_IMAGE 常量设置为http://images.XXXX.co.uk/whatever/path让上传表单指向该链接,用该链接写入图像 URL 等。这样,应用程序仍然是从底层服务器抽象出来的 - 唯一使用的接口是 HTTP/S 和数据库协议。
为了得到更明确的答案,我们需要更具体的细节。您不会(或不应该)将任何旧文件移动到任何服务器,但应用程序的特定组件可以重新定位或分离。您要解决的问题是什么?
答案2
您可以使用 NFS。从远程服务器共享相关目录并将其挂载到本地服务器。