我有一个Linux服务器(VPS),有两个域和两个Web应用程序,一个用NodeJS
(聊天应用程序)编程,而另一个是PHP
。
所以,我想要做的是在同一台服务器上的独立域中运行这两个应用程序。我已经尝试了很多方法来执行此操作,但所有这些方法都在单域和多URL路径上工作,如:https://example.com
& https://example.com/node
。
但我想要的是这样的:https://nodeappexample.com
& https://apacheappexample.com
。
问候
答案 0 :(得分:0)
如果您使用DigitalOcean或任何其他服务器等专用或VPS并计划在单个服务器上托管多个网站,那么您可以使用Apache HTTP或Nginx Web服务器来执行此操作。
这假设您已将DNS映射到主机,例如跟随我已映射到DigitalOcean的两个域。
bestflare.com
usefulread.com
在实施之前,先了解一下它的工作原理。在单个实例上拥有多个网站的概念称为虚拟服务器。虚拟服务器配置在Web服务器配置中定义,并且基于服务器/ IP地址,请求将转发到相应的文档根目录。
在Apache中配置虚拟主机以托管多个域 登录Apache HTTP Server 去apache conf位置。 (在默认安装中 - 您可以在/etc/httpd/conf/httpd.conf中找到它) 备份httpd.conf文件 创建一个VirtualHost容器,如下所示我已经为两个域创建了。
<VirtualHost *:80>
ServerAdmin hello@chandank.com
DocumentRoot /opt/htdocs/bestflare
ServerName bestflare.com
ErrorLog logs/bestflare.com-error_log
CustomLog logs/bestflare.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin hello@chandank.com
DocumentRoot /opt/htdocs/usefulread
ServerName usefulread.com
ErrorLog logs/usefulread.com-error_log
CustomLog logs/usefulread.com-access_log common
</VirtualHost>
注意:根据您的要求更改ServerAdmin,DocumentRoot,ServerName,ErrorLog,CustomLog的值。
重启Apache HTTP并测试两个网址。
在Nginx中配置虚拟主机以托管多个域 登录Nginx服务器 转到virtual.conf位置(在默认位置 - 您可以在/etc/nginx/conf.d/virtual.conf中找到它) 备份virtual.conf 为两个URL创建服务器块,如下所示。
server {
listen 80;
root /opt/htdocs/bestflare;
index index.html index.htm;
server_name bestflare.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
root /opt/htdocs/usefulread;
index index.html index.htm;
server_name usefulread.com;
location / {
try_files $uri $uri/ =404;
}
}
注意:根据您的要求更改root,server_name的值。
重新启动Nginx并测试两个URL 这是在Apache或Nginx等单一Web服务器实例中托管多个域的快速指南。一旦您的网站上线,请不要忘记针对安全漏洞进行测试。