以下以阿里云服务为例:
- 建站零基础入门
- 理性的选择:阿里云轻量应用服务器
- 单主机单IP提供多域名多网站服务
老老实实配置虚拟主机……?- 烦死你:上百个虚拟主机,还要配置对应的数据库、邮件系统、访问记录分析……
- 管理工具,最好是开源的
- 安装并配置virtualmin
http服务工具示例:
- Python3内置的简单的:
python -m http.server
- 可以指定绑定的IP、端口、对应的服务器路径等
- 专用于特定目的如简单下载的:
- 提供完整功能的:
- Nginx:高性能
- Apache:老牌
课程提供的通过virtualmin管理的apache2的相关配置信息:
- 可以在登录管理界面后,通过“服务-配置网站-显示指令”查看
- 实际上每个同学都被分配了一个vhosts,具体配置文件位于服务器的apache配置文件所在路径
/etc/apache2/sites-enabled/
下 - ServerName:对应分配给每个人的域名
- DocumentRoot:此域名对应的服务器上的实际网站文件所在的路径,也就是
/home/two开头的学号/public_html
- DirectryIndex:当用户通过浏览器访问的路径为目录即没有指定具体文件名的时候,显示哪个文件的内容。默认的文件名及排序为:
- index.html
- index.htm
- index.php
- index.php4
- index.php5
- Options:一些默认配置,例如
-Indexes
就是不允许列出目录内容,所以直接访问域名会提示403
需要彻底理解绝对路径和相对路径
- 针对操作系统的路径
- 针对网址的路径
- 理解上述后,请再次注意:网址的“根目录(DocumentRoot)”或者说“/”,对应的是服务器上你的用户的“家目录(home)”也就是
/home/two开头的学号
下的/public_html
这个目录。 - 举例来说
- 如果你希望用户可以看到
http://2020.nnm.jnu.rocks/static/img/mengbi.gif 这张图片,你就需要确保服务器上存在这个文件:/home/two020/public_html/static/img/mengbi.gif
- 如果你希望用户访问http://2020.nnm.jnu.rocks的时候有默认内容,你就应该在服务器的
/home/two020/public_html
目录下创建名为index.html或上述5个文件名中的任意一个的文件 - 如果你希望将上面这张图显示在http://2020.nnm.jnu.rocks之中,你就应该在
/home/two020/public_html/index.html
中,用img标签引用这张图片- 使用绝对路径:
<img src="/static/img/mengbi.gif" alt="懵逼">
- 使用相对路径:
<img src="./static/img/mengbi.gif" alt="懵逼">
- 使用绝对路径:
- 如果你希望用户可以看到
- 请直接到http://2020.nnm.jnu.rocks查看效果