所以我有这个问题......
我使用WAMP并且过去已经设置了完美的虚拟主机,但现在我已经找到了一些我从未预料到的东西。
我正在尝试这样做:
访问C:\ wamp \ www通过http://localhost:8080或http://something.dev
访问D:\ somethingelse我更喜欢使用正确的http://something.dev,因为工作网站是http://something.co,因此我可以将它们分开。
我已经按照指南和阅读论坛帖子,但到目前为止我所做的就是:
通过http://localhost或http://something.dev
访问C:\ wamp \ www通过http://localhost:8080或http://something.dev:8080
访问D:\ somethingelse有人知道你会怎么做吗?这是我的VirtualHost代码:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:\wamp\www"
ServerName localhost
ServerAlias www.localhost.com
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin webmaster@something
DocumentRoot "D:/something/www"
ServerName something.dev
ServerAlias www.something.dev
ErrorLog "logs/something-error.log"
CustomLog "logs/something-access.log" common
<directory "D:/something/www">
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</directory>
</VirtualHost>
在httpd.conf中我有这个
Listen *:80
Listen *:8080
我的主机文件正在运行,并将这两个文件指向127.0.0.1
(我想这样做的原因是,当我在我的机器上编码时,我使用http://something.dev,但我运行Livereload Windows,并在同一本地网络上的iPhone和iPad上同时测试我的网站,但是没有任何访问iOS等效的hosts文件。它还允许我通过我的路由器上的端口转发只打开我的服务器的特定部分到互联网。)
答案 0 :(得分:11)
我想你已经解决了这个问题。无论如何,分享一些关于如何在Wamp中设置多个虚拟主机的好信息是很好的。这对我有用:
http://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp
在我的情况下,我正在使用端口8080和8181. 8080重定向到c:\ wamp \ www \ myfolder下的子文件夹,而8181重定向到root c:\ wamp \ www。
要使8181工作,我必须编辑httpd-vhosts.conf,hosts(在\ drivers \ etc文件夹中)和httpd.conf。
在httpd.conf中我的Apache正在侦听:
Listen 8080
Listen 8181
我也没有注释:
Include conf/extra/httpd-vhosts.conf
我的根指向
DocumentRoot "c:/wamp/www/myfolder"
根目录配置为:
<Directory "c:/wamp/www">
Options Indexes FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
</Directory>
并补充说:
<VirtualHost *:8181>
DocumentRoot "C:\wamp\www"
ServerName name-of-my-fake-server
</VirtualHost>
在httpd-vhosts.conf中我设置了:
NameVirtualHost *:8181
主机中的(c:\ windows \ system32 \ drivers \ etc)我添加了:
127.0.0.1 localhost
127.0.0.1 name-of-my-fake-server #My Test Site
这样做我现在有两个端口工作8080和8181:所以8080指向目录"c:\wamp\www\myfolder"
而另一个端口8181指向我的根文件夹"c:\wamp\www\"
答案 1 :(得分:1)
使用*作为主机名需要使用NameVirtualHost:
NameVirtualHost *:80
NameVirtualHost *:8080
答案 2 :(得分:0)
对于有MAMP的人,请修改httpd.conf
nano /Applications/MAMP/conf/apache/httpd.conf
为每个端口添加Listen
Listen 80
Listen 8080
ServerName
也是
ServerName localhost:80
ServerName localhost:8080
完成后,请修改httpd-vhosts.conf
nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
定义NameVirtualHost
NameVirtualHost *:80
NameVirtualHost *:8080
VirtualHost
的
<VirtualHost *:80>
DocumentRoot "/Users/yourUser/path/project1"
ServerName project1.local
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "/Users/yourUser/path/project2"
ServerName project2.local
</VirtualHost>
当然,您需要在project1.local
文件中添加project2.local
和hosts
sudo nano /etc/hosts
并添加
127.0.0.1 project1.local project2.local
重新启动MAMP,您可以通过
访问您的虚拟主机project1.local
project2.local:8080
project2
也可以在您的网络中或使用外部IP进行访问(例如,从移动电话等其他设备进行测试)。假设您的IP为192.168.1.10
192.168.1.10:8080
答案 3 :(得分:0)
问题仅在于此。但我认为它就在附近,可能对某人有帮助。
最近,当我需要通过一个外部IP地址和端口来获取一些资源(debian存储库,我的网站和phpmyadmin)时,我遇到了问题。< / p>
了解了该问题之后,我发现了一种名为reverse proxy
的技术。就像代理一样,但是服务器接受来自许多用户的所有连接并重定向到一个目标(您的服务器)。
我制作了简单的Docker映像和 docker-compose 文件,并将其推送到github.com/urpylka/docker-nginx-reverse-proxy和hub.docker.com。
配置文件非常简单:
server {
listen 80;
server_name smirart.ru robotic.lol;
location / {
proxy_pass http://robotic.lol:1080/;
}
}
server {
listen 80;
server_name repo.smirart.ru;
location / {
proxy_pass http://8.8.8.8:2080/;
}
}
您可以将其用于少数几个使用不同IP运行的Web服务器。