我有一个Ubuntu 12.04 LTS服务器VPS,我想制作一个Web服务器来存储多个网站(托管)。
请给我一些服务。
还有别的吗?
(仅适用于Web服务器,不适用于应用程序)
答案 0 :(得分:0)
点击此处的文章:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts 注意,这不仅适用于Ubuntu,它应该适用于Linux的任何其他发行版,也可能适用于Unix和Mac
假设您希望在单个服务器上安装example.com和test.com。
首先,你制作这样的文件结构。您将需要/ var / www /中每个网站的目录,并且在每个网站中,您需要一个public_html文件夹。所以你的目录应该是这样的: /var/www/example.com/public_html/ /var/www/test.com/public_html /
然后你需要给普通用户访问权限来编辑这些文件夹,其他人都可以访问它们,所以在终端运行:
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
sudo chmod -R 755 /var/www
现在你应该将index.html文件放在每个public_html目录中,并在其中加入一些东西,这样你就可以测试它是否运行良好。
然后,您需要在/etc/apache2/sites-available/example.com.conf中创建虚拟主机文件。这就是example.com的应该是这样的。然后你为test.com制作另一个并复制它,只需更改“test.com”的“example.com”。
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
完成后,您需要启用这些虚拟主机文件。为此,您必须在终端中运行以下命令。
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
sudo service apache2 restart
您很可能会收到类似以下内容的消息:
* Restarting web server apache2 AH00558: apache2:
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1.
Set the 'ServerName' directive globally to suppress this message
这是一条无害的消息,不会影响我们的网站。
如果您没有使用您拥有的实际域名来测试此过程并且一直在使用某些示例域,则至少可以通过临时修改本地计算机上的hosts文件来测试此过程的功能。
假设VPS IP地址为111.111.111.111,您可以将以下行添加到hosts文件的底部:
111.111.111.111 example.com
111.111.111.111 test.com
这将在我们的计算机上引导对example.com和test.com的任何请求,并将它们发送到我们的服务器111.111.111.111。如果我们实际上不是这些域的所有者以便测试我们的虚拟主机,那么这就是我们想要的。
保存并关闭文件。
现在您可以测试结果了。如果您访问example.com或test.com,您应该会看到之前创建的index.html文件。