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就变态点的 不用这个东西 好了 晚安吧~~