文章参考:
https://blog.youkuaiyun.com/jin970505/article/details/78983123
https://www.cnblogs.com/zhuchenglin/p/6824749.html
1、Apache2的配置文件
<1>Ubuntu中Apache的配置文件是//etc/apache2/apache2.conf。Apache在启动时会找到这个文件并自动读取该文件中的配置信息,而其他配置文件则是通过include指令包含进来的,在apache2.conf 中可以看到这些引入行。当然,也可以将所有的配置全放在apache2.conf或者httpd.conf或者其他文件中,Apache这样划分是一种比较好的习惯。
<2>在/etc/apache2目录下,发现了sites-enabled目录,然而还有一个sites-available目录,那么这两个目录到底有什么作用呢?其实,sites-available这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。而sites-enabled目录的作用是持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。如果apache上配置了多个虚拟机,每个虚拟机的配置文件都放在sites-available下,那么对于虚拟主机的停用,启动就是非常方便了,操作某个虚拟主机就不用动配置文件了。
<3>在/etc/apache2下还用类似于sites-enabled和sites-available两个目录的mods-available和mods-enabled两个目录,那么这两个目录有何作用呢?其实类似于sites-enabled和sites-available,mods-available这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。比如当apt-get install php5安装了php模块,在这两个目录中就有了php5.load、php5.conf和指向这两个文件的链接。这对于apache开启停用某个模块是非常方便的。
<4>在/etc/apache2目录下,还有一个文件ports.conf,这个文件配置Apache监听的端口
<5>在Ubuntu缺省安装的目录有与其他相比有一点不同。在ubuntu中module和 virtual host的配置都有两个目录,一个是available,一个是enabled,available目录是存放有效的内容,但不起作用,只有sudo a2ensite 名字.conf注册虚拟主机到enabled才
2、端口监听
打开/etc/apache2/ports.conf文档,添加你想要开放的端口(7077):
NameVirtualHost *:7077
Listen 7077
保存并退出。
3、创建虚拟主机
打开 /etc/apache2/sites-available
此时这里面应该有两个文件,分别为
复制000-default.conf并配置
复制:执行 sudo cp 000-default.conf +新的配置文件名.conf,比如新的配置文件为:index.conf
成功之后,使用 sudo vi index.conf 编辑该文件
如果只基于端口号创建虚拟主机,更改最开始的端口号即可(如果基于域名创建虚拟主机,将里面的ServerName 后面的改成你将要使用的域名,切记改的域名要是有效的域名,也可以是二级域名,也可以是别人的域名)
DocumentRoot+项目的地址
保存并退出。
然后执行 sudo a2ensite index.conf 注册虚拟主机
执行完后,会提示你重新载入apache服务,这是你要执行提示你的命令(如果权限不够的话在命令前面加上sudo)
service apache2 reload这时你进入 /etc/apache2/sites-enabled (这里面是你已经注册过的虚拟主机)
注:如果要取消注册的话,可以执行
sudo a2dissite index.conf
然后重启一下apache服务器
/etc/init.d/apache2 restart
4、打开阿里云的端口
进入阿里云的控制台,进入防火墙,并添加规则
好了,现在就可以通过7077端口,访问自己的网络资源啦。