虚拟主机,如下没有特殊说明以“域名”代替。
1.编辑hosts文件 sudo vim /etc/hosts,配置你的本地网址
2. 找到apache文件存放地址,默认的路径在etc/apache2目录下 cd /etc/apache2
3. 列出所有文件
-rw-r--r-- 1 root root 7434 апр 4 00:20 apache2.conf
drwxr-xr-x 2 root root 4096 апр 7 2019 conf-available
drwxr-xr-x 2 root root 4096 дек 1 18:35 conf-enabled
-rw-r--r-- 1 root root 1782 окт 11 02:59 envvars
-rw-r--r-- 1 root root 31063 окт 11 02:59 magic
drwxr-xr-x 2 root root 16384 апр 7 2019 mods-available
drwxr-xr-x 2 root root 4096 апр 4 00:16 mods-enabled
-rw-r--r-- 1 root root 320 окт 11 02:59 ports.conf
drwxr-xr-x 2 root root 4096 апр 7 2019 sites-available
drwxr-xr-x 2 root root 4096 апр 4 00:16 sites-enabled
这里只对需要的文件做说明。
3.1 apache2.conf apache的核心配置文件
3.2 mods-available 当前系统可用的模块
3.3 mods-enabled 当前系统启用的模块
3.4 sites-available 虚拟主机配置文件(也就是域名配置文件,每个域名对应一个配置文件)
3.5 sites-enabled 已经启用的虚拟主机配置文件
tips:mods-enabled 里面存放的是mods-available的文件软链接,如果想要关闭一个apache功能删除这个软链接即可。对应的sites-enabled里存放的是sites-available文件的软链接
4.编辑apache2.conf文件 sudo vim apache2.conf
4.1 添加配置信息
<Directory (1)>
Options Indexes FollowSymLinks
AllowOverride All (2)
Require all granted
</Directory>
4.1.1 这里填写你项目的根目录
4.1.2 允许apache重写URL,默认是none
4.2 找到 IncludeOptional sites-enabled/*.conf 去掉前面的#号。这个是引入apache系统功能模块的,一般默认都会开启。
5. 启用apache重写功能。这里其实可以看一下mods-enabled文件夹下有没有 rewrite.load 这个文件软链接,如果有就是开启的
这里比如没有开启 建立文件软链接 ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
6.配置虚拟主机
6.1 复制配置文件 cp 000-default.conf (1).conf
6.1.1 这里填写配置文件名称。最好以网址后缀命名,比如我的域名是www.tp.com,配置文件因该叫tp.conf,这样便于区分。
6.2 修改配置文件 sudo vim (1).conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName (1)
ServerAdmin webmaster@localhost
DocumentRoot (2)
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
6.2.1 你的域名名称,也就是刚刚hosts里面填写的域名
6.2.2 你的项目根目录
6.3 建立sites-availabled 到 sites-enabled文件夹的软链接。具体方法和mods-enabled 一样。
7 .重启apache sudo service apache2 restart
8.配置完成。有问题可以给我留言