📢📢📢 阿里云双十一,赠送您一张全场8折折扣优惠券

📢📢📢 2核2G3M的服务器,99元一年,新老用户续费同享!!

apache2 下配置二级域名和端口转发

我之前win7下xampp搭了一个服务器  没有设置虚拟服务器  所以如果有多个网站同时调试的话我就分开在不同文件夹下  后来发现这个有很大的问题啊   比如说 根目录 /   如果是直接用文件夹的话 /不在这个文件夹的  而是在这个文件夹的外面  到时候网站部署到真实服务器上的时候就会各种路径错误啊 因此有必要配置二级域名或者多端口服务器

一、二级域名

我最先开始弄的就是二级域名 ,然后因为我那时候为了模拟真实的服务器的环境   所以是在ubuntu上搭建的apache  很简单的一句命令  顺便写下吧也sudo  apt-get install apache2 这样就装好了  然后我就开始查资料  发现网上说的和我的完全不一样啊 !!!   什么情况?!!  他们都说是/etc/apache2/下有个  httpd.conf的文件  在这个文件夹里写入相关配置就可以了  我艹!!  哪里有这个文件啊?! !  真是无语啊   到处找相关资料都找不到  后来看到说那个文件夹下的apache2.conf就是它的配置文件 在里面改就可以了  或者自己建个httpd.conf然后在apache.conf里面把这个文件include进去  作为用户配置  试了下 还是不行   后来啊 看到一篇博客 才解决了这个问题   我忘了地址了…..一般这种东西看过了就记住了..不会记地址的…..  原来ubuntu下的apache很是变态  和其他的都不一样的   下面讲方法了

/etc/apache2/sites-available文件夹下新建一个文件 也可以复制那个default文件进行修改 default-ssl文件是在https协议时用的 新建文件名字为 test 也可以叫其他的 不过因为我的二级域名为test 所以叫test 为了方便管理 不然站点一多 就乱了不知道哪个是哪个了

1
2
3
4
5
6
7
<VirtualHost *:80>;
ServerAdmin webmaster@localhost //服务器管理员邮箱 我就直接抄的default里的写的
ServerName test.xjp.com // 这个站点的域名 要保证这个域名是解析到这个服务器的
DocumentRoot /var/www/test //这个站点的根目录 可以在任意目录 不过要注意权限
ErrorLog ${APACHE_LOG_DIR}/test.xjp.com-error.log //日志地址 为了查看方便 我以站点的二级域名做名称
CustomLog ${APACHE_LOG_DIR}/test.xjp.com-access.log combined //日志
</VirtualHost>

这个写完了之后 运行 sudo a2ensite test 使这个文件生效 生效后了在 enabled-site文件夹下会生成一个同名字的文件 打开看之后发现是一样的 如果想删除这个二级站点 可以在site-available下运行 sudo a2dissite test 使之失效 然后运行 重启apache就可以了
会了之后发现 其实还是蛮方便的嘛

后来又转到win7下工作了  发现好简单  直接把上面那段代码写到httpd.conf文件的最后面就可以了  然后重启下

二、配置端口转发

在ubuntu下  apache2文件夹里有个ports.conf文件 我估计就是它了   果然 打开看 里面已经有80端口的了 我就在后面加了监听81端口的代码

1
2
NameVirtualHost *:81
Listen 81

然后在前面配置二级域名的那里添加个文件

1
2
3
4
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
</VirtualHost>

然后a2ensite一下  再重启一下apache  用浏览器访问localhost:81 就可以访问/var/www里面的站点了

win7下就更简单了  直接在httpd.conf里最后添加

1
2
3
4
5
6
7
Listen 81
NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot D:xampphtdocs //目录
Servername localhost:81 //可以和二级域名配合使用 我就不示范了 直接用localhost了
ServiceAlias www.xjp.com //服务器的主域名 可以不写这行
</VirtualHost>

重启apache就可以了

其实把  我觉得  只要用httpd.conf配置文件的都差不多吧  ubuntu就变态点的  不用这个东西 好了  晚安吧~~