我目前有一个 Ubuntu 服务器,在上面我为一个旧项目建立了一个小网站,它是用 HTML/CSS/JS 编写的,现在我正在开发一个用 PHP 和 MySQL 编写的新 Web 应用程序。
我希望两个站点都部署。现在,如果我访问我的 IP 地址,默认情况下它会转到旧站点,其文件目录为 ,/var/www/lifeonearth/html/{all files here}
而我的新项目位于/var/www/webDarts/{php files here}
。
有人能告诉我如何访问新应用程序吗?我是否必须设置虚拟主机或类似的东西,因为我已经有一段时间没有用过这个东西了,而且我有点生疏了……
答案1
首先我们需要在文件夹中创建一个 default.conf/etc/apache2/站点可用
这默认配置文件文件:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/default
<Directory /var/www/default>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/default-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/default-access.log combined
</VirtualHost>
现在我们的默认配置已经配置好了,我们可以设置多个网站,例如:
这foo.com.conf文件:
<VirtualHost *:80>
ServerName foo.com
ServerAlias *.foo.com
ServerAdmin [email protected]
DocumentRoot /var/www/foo.com
<Directory /var/www/foo.com>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/foo_com-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/foo_com-access.log combined
</VirtualHost>
现在我们需要做的a2ensite foo.com
是service apache2 reload
如果您想要更多网站,请执行以下操作:
- cd /etc/apache2/站点可用
- cp foo.com.conf 新域.com.conf
- vim new-domain.com.conf (将所有 foo.com 和 foo_com 替换为 new-domain.com 和 new-domain_com)
- mkdir /var/www/new-domain.com
- 将内容放在 /var/www/new-domain.com 中
- a2ensite 新域.com.conf
- 服务 apache2 重新加载
如果它不起作用,请告诉我,我认为您了解用户策略?(www-data,/var/www 上的 chmod 755?)