将网站从共享主机转移到 VPS

将网站从共享主机转移到 VPS

我想将当前在共享主机上运行的网站(假设为 www.mydomain.com)转移到我最近购买的 VPS 服务器上。

我在我的 VPS 服务器的 DirectAdmin 中创建了一个域,其名称与当前在共享主机上运行的域名相同(www.mydomain.com)。现在我将网站和数据库上传到我的 VPS 上的这个域,并且它运行正常。

现在,我只需要将 DNS 从我当前的共享主机更改为此 VPS。但这让我有点困惑。

假设 VPS 服务器的 IP 地址为 12.12.12.12。那么我通过 DirectAdmin 创建的域将在 12.12.12.12/~admin/ 上运行。我已经在共享主机上创建了 DNS A 记录 (server.mydomain.com),该记录指向服务器的 IP 地址。但是当我尝试访问此记录时,它不会显示网站,而只会显示“Apache 正常运行”。

现在,我需要在 DNS 设置中更改哪些内容才能使域名指向在我的 VPS 服务器 (12.12.12.12/~admin/) 上运行的网站?

答案1

通过为 www.mydomain.com 创建指向 12.12.12.12 的 A 记录,您只实现了使 Web 请求到达服务器的目标。需要配置服务器以将请求发送到主机:www.mydomain.com 并从您的 ~/admin 文件夹提供服务。

实际上,至少有两种方法可以实现这一点。

  1. 如果这是您在服务器上托管的唯一 web 应用程序,那么您可以更改 VPS web 服务器上的文档根目录(您没有告诉我们它是哪一个,所以我无法提供更多详细信息)以指向“/~admin/”所在的位置。

编辑:您可以按照以下方法更改 docroot - 它已在 stackoverflow 中询问过:https://stackoverflow.com/q/5891802/708198

  1. 如果您有多个 Web 应用程序,或者出于某种原因不想更改默认的文档根目录,则需要为域创建虚拟主机。您可以轻松在互联网上找到有关在 VPS 上使用的任何 Web 服务器的虚拟主机设置的信息。

通常,在 Apache 上你可以这样做。请不要盲目复制/粘贴,我从自己的网络服务器中快速提取了以下内容:

设置默认虚拟主机:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/path/to/docroot"
    ServerName hostname.mydomain.com
        <Directory "/path/to/docroot">
      AllowOverride None
      Options None
      Order allow,deny
      Allow from all
    </Directory>
    ErrorLog "/var/log/apache/httpd-default-error.log"
    CustomLog "/var/log/apache/httpd-default-access.log" combined
</VirtualHost>

其次是

<Virtualhost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/path/to/webapp/admin/"
    ServerName www.mydomain.com
    ServerAlias mydomain.com
<Directory "/path/to/webapp/admin/">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymlinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>
    ErrorLog /var/log/www.mydomain.com/httpd-error.log
    CustomLog /var/log/www.mydomain.com/httpd-access.log combined
</Virtualhost>

相关内容