我正在编写一个shell脚本来进行一些Web服务器配置.我需要禁用所有当前活动的虚拟主机.a2dissite不接受多个参数,所以我不能这样做
a2dissite `ls /etc/apache2/sites-enabled`
Run Code Online (Sandbox Code Playgroud)
我应该用find吗?手动删除符号链接是否安全/etc/apache2/sites-enabled?
对于我正在设置的基于Linux的Apache 2.2服务器,我有一个相当简单的问题.我想在同一台服务器上设置两个完全不同的域.但它只提供第一个标签的内容!我搜索过StackOverflow并在Apache.org上阅读项目但没有运气.
我按照Apache.org上的说明进行操作,并将这两部分放在我的http.conf文件的底部.
<VirtualHost *:80>
DocumentRoot /var/www/mydomain1
ServerName sub1.mydomain1.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/mydomain2
ServerName sub2.mydomain2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,当我使用浏览器访问:http://sub1.mydomain1.com它很好.但是如果我去http://sub2.mydomain2.com我仍然只能获得位于/ var/www/webfiles/mydomain1中的内容.
我做了许多显而易见的事情,例如: - service httpd restart - 我改变了httpd.conf中两个条目的顺序,再一次,它只服务于列表中的第一个条目. - 我使用Googled的一个支持文档说,确保在您的系统上有一个有效域的以下入口点.所以我输入了这个(但它没有改变任何东西):ServerName sub2.mydomain2.com:80
它一定是愚蠢的东西,但我无法弄清楚!
我有以下工作Django配置:
WSGIScriptAlias / /MyDjangoProjectFolder/MyDjangoProject/wsgi.py
WSGIPythonPath /MyDjangoProjectFolder
<Directory /MyDjangoProjectFolder/MyDjangoProject>
<Files wsgi.py>
Order deny,allow
Require all granted
</Files>
</Directory>
Alias /base_context_path/static/ /MyDjangoProjectFolder/static/
<Directory /MyDjangoProjectFolder/static>
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
Django响应<ip>/base_context_path/rest(对于前端调用的其他API)和<ip>/base_context_path/admin(对于使用base_context_path/static的管理).因此,Django所需的一切都在开启<ip>/base_context_path/*.
现在我需要在同一个Apache2上部署一个在Angular上开发的网站,所以我试图了解如何使它工作.我有这个网站的域名(mydomainname.org),但不是django应用程序的专用域名.访问我的域名时,我希望我的网站能够出现.
这是我对我的网站的尝试:
<VirtualHost *:80>
ServerName mydomainname.org
DocumentRoot /MyWebSiteFolder
DirectoryIndex index.html
<Directory "/MyWebSiteFolder">
# redirect rules for managing AngularJS
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它不起作用(403).
对于我的Django应用程序,这是我创建的虚拟主机,它不起作用(403):
<VirtualHost *:80>
ServerName mydomainname
Alias /base_context_path/static/ /MyDjangoProjectFolder/static
WSGIScriptAlias / /MyDjangoProjectFolder/MyDjangoProject/wsgi.py
WSGIDaemonProcess MyDjangoProject python-path=/MyDjangoProjectFolder:/usr/local/lib/python2.7/site-packages
WSGIProcessGroup MyDjangoProject
<Directory /MyDjangoProjectFolder/static>
Options -Indexes
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
所以我有点卡住了.
我想在apache中创建一个虚拟主机,它只提供静态内容,如样式表,视频,图像,javascripts,文本文件等.我不是在寻找这个虚拟主机的任何"处理"功能.
我想在我的Ubuntu 10.04 32bit Linode VPS上运行nginx.
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
sudo add-apt-repository ppa:nginx/development
sudo apt-get update
sudo apt-get install nginx
Run Code Online (Sandbox Code Playgroud)
要创建一个nginx虚拟主机:
mkdir -p /var/www/example.com/{public,logs}
sudo nano /etc/nginx/sites-available/example.com
Run Code Online (Sandbox Code Playgroud)
并写了以下内容
server {
listen 80;
server_name www.example.com;
rewrite ^/(.*) http://example.com/$1 permanent;
}
server {
listen 80;
server_name example.com;
access_log /var/www/example.com/logs/access.log;
error_log /var/www/example.com/logs/error.log;
location / {
root /var/www/example.com/public/;
index index.html;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我启用了虚拟主机example.com
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
sudo /etc/init.d/nginx restart
Run Code Online (Sandbox Code Playgroud)
我将index.html放入/var/www/example.com/public并从浏览器输入www.example.com网址.然后我得到了关注
403 Forbidden
nginx/0.8.53
Run Code Online (Sandbox Code Playgroud)
tail /var/log/nginx/error.log …
我正在使用zend服务器,我在extra/httpd-vhosts.conf文件中添加了一个VirtualHost,并从httpd.conf文件中删除了#.
这是我在extra/httpd-vhosts.conf文件中添加的内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName quickstart.local
DocumentRoot D:/quickstart/Code
<Directory D:/quickstart/Code>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我访问quickstart.local它工作正常,但它也影响localhost(即当我尝试加载http:// localhost /时,我看到我为http://quickstart.local/做的同一个站点.
我该如何解决这个问题?我想要localhost(我将其用于另一个项目)和quickstart.local分开.
不知怎的,我的虚拟主机文件不能正常工作我不知道为什么 - 我敢打赌它只是我早上大脑中的邮件功能:p
现在我通过/ etc/apache2 /目录中可用站点的符号链接启用了两个站点,如:
0 Nov 21 12:24 000-default -> ../sites-available/default
0 Nov 21 14:52 001-site -> ../sites-available/site
Run Code Online (Sandbox Code Playgroud)
我的VHosts文件看起来像:
默认
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName (the IP Address from my Server)
ServerAlias (the 2nd IP Address from my Server)
DocumentRoot /var/www/default
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/default>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory> …Run Code Online (Sandbox Code Playgroud) 我在Hostgator中有专门的服务器虚拟主机. - CentOs 6 64bit - 专用服务器 - Apache我有一个专用的主机IP,我用IP创建了"A"记录(域名托管在GoDaddy中).
我的问题是创建虚拟主机以将rails应用程序指向我的域.我正在尝试配置域名.我没有找到配置默认文档根目录的conf文件.我尝试在etc/httpd/conf/httpd.conf中更改conf文件,但没有用.一些默认文档根(/ usr/local/apache/htdocs)页面正在呈现.我需要找到文档根虚拟配置,然后需要指向我的域.我需要帮助.
这是我在httpd conf文件中的默认虚拟主机设置:
NameVirtualHost *
# Default vhost for unbound IPs
<VirtualHost *>
ServerName examle_server_name
DocumentRoot /usr/local/apache/htdocs
ServerAdmin root@example_server
<IfModule mod_suphp.c>
suPHP_UserGroup nobody nobody
</IfModule>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
即使我将服务器名称更改为我的域名,也没有chnage.此外,如果我删除这些行,它将显示在/ usr/local/apache/htdocs中的默认页面.
我如何/在哪里可以更改此效果/将我的rails应用指向域.
此外,我需要在rails 3000端口上运行的rails app配置的Apache VirtualHost设置
请帮帮我.
此致,Ranjit
Apache 的 other_vhosts_access.log 文件有何用途?
我在 Google 上找不到有关此文件的任何文档。
在同时运行 Apache 和 Nginx 的本地系统上,许多条目显示在 中other_vhosts_access.log,例如:
kr.b19cms.dk:80 127.0.0.1 - - [19/Jun/2018:08:46:30 +0200] "POST /CHANGELOG.txt HTTP/1.0" 200 108893 "-" "drupalgeddon2" 246.189.151.79, 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
不过,我似乎并不能从中得到什么?
当使用克罗马与HTTP1.1我可以通过这两个主机的方法访问请求的主机request.uri.host在克罗马::乌里权威标头中发送的浏览器通过:以及主机或request.header在方法克罗马:: HTTP ::请求。
但是,当我使用 HTTP/2 时,这些都不起作用。Uri 对象仅包含架构和路径。
我正在使用带有子域通配符的官方证书,并通过将这些子域添加到我的主机文件来在本地运行它。Chrome DevTools 说它已经在 HTTP/2 下发送了 :authority 请求标头,Firefox Developer Tools 说它已经在 HTTP/2 下发送了 Host 请求标头。但是,如果我将标头写入如下所示的日志,我会看到几个标头,但看不到 Host 或 :authority 标头。
sub routes() is export {
route {
get -> {
my $log = "/data/myapp/logs/cro.log";
my $fh = open $log, :w;
my $host = request.uri.host;
$fh.say( "Host with host method: " ~ $host );
$host = request.header('Host');
$fh.say( "Host: " ~ $host );
$host = request.header(':authority');
$fh.say(":authority: " …Run Code Online (Sandbox Code Playgroud) virtualhost ×10
apache ×8
nginx ×2
apache2 ×1
centos ×1
cro ×1
django ×1
http2 ×1
httpd.conf ×1
python ×1
raku ×1
server-name ×1
subdomain ×1