我希望有人可以帮我解决这个问题.我最近在我的一些服务器上运行APC,这些服务器只托管一个应用程序,并且它运行良好.不幸的是,我今晚在我的主力网络服务器上运行它,一旦我打开它,我开始从我的wordpress博客"混合".第一个加载的博客会缓存数据库信息,然后加载的每个博客都会收到数据库错误.
我想知道的是,是否有办法以某种方式为缓存添加前缀,以便我可以避免这个问题.我假设缓存会尊重文件之间绝对路径的差异,而不是在多个站点上使用相同的缓存副本... FAIL
提前致谢!
更新
这里要求的是我在/etc/php.d/中使用的apc.ini文件的副本来覆盖默认设置:
/etc/php.d/apc.ini
extension=apc.so
apc.shm_size = 64M
apc.max_file_size = 8M
apc.include_once_override = 1
apc.stat_ctime = 1
Run Code Online (Sandbox Code Playgroud) 不知怎的,我的虚拟主机文件不能正常工作我不知道为什么 - 我敢打赌它只是我早上大脑中的邮件功能: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) 所以,我需要在一台服务器上运行多个php应用程序/站点.一个或多个应该使用apache和mod_php5运行,一个或多个应该能够使用mod_fastcgi和php-fpm运行.mod_php5目前是正常的,如果我禁用mod_php5,fastcgi工作,但我很难让他们同时工作.
我认为这可以通过在apache中使用文件匹配,if.mod_fastcgi和if.mod_actions的某种组合来实现,但我无法弄清楚它是什么.如果需要,我们可以安装执行此操作所需的任何apache模块.
超级奖励积分,如果有不同版本的vhost for Apache 2.2或更少,你也有这个片段,或者至少知道我应该做什么
我不会发布我拥有的整个虚拟主机,因为我知道它们是错的,但第一个,默认的,基于mod_php的虚拟主机看起来像这样...
#NameVirtualHost 127.0.0.1:80 < Apache 2.2 or less
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
ServerName some.site.tld
DocumentRoot /var/www/some/site/
<Directory /var/www/some/site/>
Options Indexes FollowSymLinks MultiViews
Require all granted
# Order deny,allow < Apache 2.2 or less
# Allow from all < Apache 2.2 or less
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望这些保持不变,如果我们需要更多这些,我们可以添加更多.
我想要的结果是能够使用像第一个配置这样的东西来放入为mod_php配置的新vhosts,并且还为了快速cgi而放入vhosts,如下所示.
# NameVirtualHost 0.0.0.0:80 < Apache 2.2 or Less
<VirtualHost 0.0.0.0:80>
ServerAdmin webmaster@localhost
ServerName some.application.tld
DocumentRoot /opt/some/app/dir/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<IfModule mod_fastcgi.c> …Run Code Online (Sandbox Code Playgroud) 我正在开发一个由两个人管理的网站.一个是我,另一个是设计师从LAN上的不同机器访问.
Conf:php,apache,windows xp,mysql.
文档根目录:d:\ www\xampp\htdocs.所有项目都在此作为子文件夹.
我已经设置了虚拟主机,因此我不会将所有项目作为http:// localhost/foldername访问,而是以http:// foldername的形式访问.
但是对于在其他系统中的设计者,他必须访问http:// computername/foldername
例如,让我在项目工资单中工作.我将以http:// payroll的形式访问它,但我的设计师将以http:// computername/payroll的形式访问它.
我想做的是我希望设计师以我访问的方式访问.那是http:// payroll.
所以在设计器系统中,当服务器名称是工资单时,我希望它被定向到我的机器然后到项目文件夹.因此,如果他提供http:// payroll,那么我系统中的应用程序应该为他运行.
我已在设计器系统中设置hosts文件以指向我的机器.所以这项工作已经完成,当他给出工资单时,我的http:// localhost正在出现.
我应该怎么做,设计师可以访问我的项目,如http:// payroll form他的系统?
我在同一台机器上安装了一台apache服务器和一台tomcat 7服务器.apache服务器使用并配置启用虚拟主机,因为它应该服务于多个php网站.但是,我们还需要提供一些tomcat应用程序,因此我们需要配置ajp连接器.
一切顺利,我已成功配置多个服务于tomcat应用程序的apache虚拟主机,但我只有一个问题:
通过apache虚拟主机访问Java应用程序时,不会保留会话变量.当直接连接到tomcat服务器的8080端口时,这非常有效.
我可以在tomcat管理器中看到每个应用程序,每次从apache虚拟主机刷新页面时,会话数就会增加.
java应用程序部署在/ webapps/testapp文件夹中的tomcat中.
tomcat服务器xml有一个ajp连接器,描述如下:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
maxThreads="300" minSpareThreads="10" enableLookups="false"
tcpNoDelay="true" tomcatAuthentication="false" URIEncoding="UTF-8" />
Run Code Online (Sandbox Code Playgroud)
apache webserver包含虚拟主机:
<VirtualHost *:80>
ServerName testapp.com
ServerAlias *.testapp.com
ProxyPreserveHost on
ProxyRequests off
ProxyPass / ajp://localhost:8009/testapp/
ProxyPassReverse / ajp://localhost:8009/testapp/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
所以使用tomcat的Apache代理工作正常.问题是jsp会话没有通过代理工作.我怎样才能使它工作?我的配置有问题吗?
我一直在关于这个问题的论坛帖子中迷失方向。
1)我安装了 MAMP(不是 Pro)
2)我的Apache端口设置为8888
3) 首选项中的 My Document Root 设置为 /Users/usr/Sites
我想设置多个本地子域,即
private/etc/hosts
127.0.0.1 local1.sitename.com
127.0.0.1 local2.sitename.com
127.0.0.1 local3.sitename.com
Run Code Online (Sandbox Code Playgroud)
不,这就是问题出现的地方。在 httpd-vhosts.conf 中,我尝试设置以下内容:
<VirtualHost *:80>
ServerAdmin admin@si1tename.com
DocumentRoot "/Users/usr/Sites/Site1Name“
ServerName local1.sitename.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site2name.com
DocumentRoot "/Users/usr/Sites/Site2Name“
ServerName local2.sitename.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site3name.com
DocumentRoot "/Users/usr/Sites/Site3Name“
ServerName local3.sitename.com
</VirtualHost>
etc.
Run Code Online (Sandbox Code Playgroud)
出于某种原因,所有这些子域都指向同一个 localhost:8888 文档根目录。我究竟做错了什么?
谢谢
我在ubuntu 13.10中配置Zend应用程序(ZF2).请按照以下步骤操作:
/var/www/名称中zfapp虚拟主机配置:
<VirtualHost *:80>
ServerName zfapp.com DocumentRoot /var/www/zfapp/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在中创建虚拟主机 /etc/hosts
127.0.0.1 zfapp.com
添加文件 /etc/apache2/sites-available/zfapp.cof
sudo a2enmod rewrite
sudo a2ensite zfapp.conf
sudo service apache2 restart
但是,当我浏览网站(zfapp.com/api/user/auth); 它给出以下错误:
未找到
/api/user/auth在此服务器上找不到 请求的Url
我有一个javascript MVC项目,其中我使用PHP作为服务器端语言.
这是项目目录结构:
ProjectDir javascriptMVC文件夹 - >模型/控制器jsfiles api文件夹 - > Zend项目
我做了一个符号链接的API,其指向 …
我正在尝试使用mod_post_log模块让ejabberd正常工作.我已经定义了两个虚拟主机,我想要一些特定于vhost的模块配置.我的方法是ejabberd.yml文件中的以下内容:
append_host_config:
"host1.com":
modules:
mod_post_log:
url: "http://host1.com/ejabberd_post_message"
append_host_config:
"host2.com":
modules:
mod_post_log:
url: "http://host2.com/ejabberd_post_message"
Run Code Online (Sandbox Code Playgroud)
我希望这可行,但事实并非如此.根据日志,mod_post_log找不到url选项.
它工作正常,但如果我在以下内容中定义以下内容~/.ejabberd-modules/mod_post_log/conf/mod_post_log.yml:
modules:
mod_post_log:
url: "http://host1.com/ejabberd_post_message"
Run Code Online (Sandbox Code Playgroud)
但这仅适用于一个主机.
所以我不确定为什么我尝试的方法不起作用.有没有人可以澄清这一点,看看我做错了什么?我相信我正在为mod_post_log模块定义两个单独的配置,但显然这里有些不正确的地方.
我正在尝试在同一个Docker容器和端口上运行两个不同的域.
Docker容器运行CentOS.docker-compose.yml看起来像这样:
web:
image: fab/centos
ports:
- "80:80"
volumes:
- ./src/httpd.conf:/etc/httpd/conf/httpd.conf
- ./src:/var/www/html
- ./src/hosts:/etc/hosts
environment:
- VIRTUAL_HOST=dummy.dev,tests.dev
Run Code Online (Sandbox Code Playgroud)
我还在/etc/hosts主机(OS X)中声明了两个.dev域名.
我配置虚拟主机已经有一段时间了.我的理解是我只需要声明它们,并且Apache会自动提供正确的文件,具体取决于所请求的HTTP HOST.
这就是我所拥有的,在最后添加httpd.conf:
<VirtualHost *:80> # first host = default host
DocumentRoot /var/www/html/default
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/dummy
ServerName dummy.dev
ServerAdmin webmaster@dummy.dev
ErrorLog logs/dummy.dev-error_log
CustomLog logs/dummy.dev-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/tests
ServerName tests.dev
ServerAdmin webmaster@tests.dev
ErrorLog logs/tests.dev-error_log
CustomLog logs/tests.dev-access_log common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但是,在实践中,访问dummy.dev或tests.dev实际上是有用的/var/www/html/default.这就好像Apache没有意识到正在调用哪个主机(尽管$_SERVERPHP中的转储确实显示了预期的HTTP_HOST值,即:127.0.0.1,dummy.dev或者tests.dev,具体取决于我访问的URL.)
我错过了什么?
我不清楚这是Apache问题还是Docker问题.
(请注意,这是一个不同的问题,如何在同一个域上使用不同的端口托管多个应用程序.在我的情况下,我确实希望虚拟主机全部位于同一个应用程序/端口/容器内.)
我正在尝试在 OSX 上设置 Apache,但无法使本地 url“awr.local”指向正确的路径。我的意思是,无论我输入http://localhost还是http://awr.local,它总是显示“localhost”虚拟主机路径中的 index.html 页面。我已经无数次重新启动了我的 httpd 服务,无论是否使用 sudo。
任何帮助将不胜感激,谢谢:'|
我一直在关注教程(https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions),以下是有关 Apache 的步骤:
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
brew install httpd
Run Code Online (Sandbox Code Playgroud)
# changed Listen 8080 to :
Listen 80
[...]
# changed DocumentRoot "/usr/local/var/www" to :
DocumentRoot "/Users/wallace/dev/default"
[...]
# changed <Directory "/usr/local/var/www"> to :
<Directory "/Users/wallace/dev/default">
[...]
# changed AllowOverride None to :
AllowOverride All
# uncommented :
LoadModule …Run Code Online (Sandbox Code Playgroud)