我正在尝试使用我网站上的 mod_ssl 模块支持 HTTPS 流量。我正在为我的服务器运行 Amazon EC2 实例。我已经安装并配置了基本的 LAMP 包。然而,当我去把在SSL特定的命令在我的Apache配置文件(即SSLEngine,SSLCertificateFile等),它吐出了一个错误,说我有一个语法错误或没有加载模块。
我的下一步是尝试$ sudo yum install mod_ssl。但是,yum 返回并说:“处理冲突...错误:httpd24-tools 与 httpd-tools 冲突”。所以,我认为 mod_ssl 包含在 httpd-tools 包中。然后我跑了,$ sudo yum install httpd24-tools但它回来告诉我我已经安装了那个包。
现在为什么我安装了 httpd-tools 包,但我的系统中没有加载 mod_ssl?httpd-tools 包中不包含 mod_ssl 吗?我创建了一个测试 php 文件<?php echo phpinfo(); ?>只是为了确保。我的怀疑得到了证实——phpinfo 中的 apache2handler 加载模块表下没有列出“mod_ssl”。
因此,我不确定如何使用 Amazon Linux AMI 加载/安装/配置 mod_ssl。任何帮助,将不胜感激。这是我目前的规格:
运行此命令以设置服务器:
$ sudo yum install httpd24 php54 php54-devel php54-mysql php54-common php54-gd php54-xml …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我希望位置“/”返回静态 index.html 文件,我希望“/static”从文件夹中提供静态文件,并且我希望所有其他请求返回 404 NOT FOUND。稍后我会将所有其他请求重定向到 WSGI 服务器。
这是目前我的配置:
# Dev server.
server {
listen 1337;
charset UTF-8;
location / {
rewrite ^ static/index_debug.html break;
}
location /static {
alias /home/tomas/projects/streamcore/static;
}
}
Run Code Online (Sandbox Code Playgroud)
静态文件夹工作正常,但“/”返回 404 NOT FOUND。我也试过:
alias /home/tomas/projects/streamcore/static/index_debug.html;
Run Code Online (Sandbox Code Playgroud)
在位置块中,但返回 500 INTERNAL SERVER ERROR。似乎alias不喜欢单个文件。另外我试过:
try_files static/index_debug.html;
Run Code Online (Sandbox Code Playgroud)
但这会阻止服务器以错误“try_files 指令中的参数数量无效”开始。显然try_files实际上需要您尝试多个文件,这不是我正在寻找的行为。
所以我的问题是:如何配置位置块以始终返回静态文件?
编辑:我从其他答案中看到alias确实应该接受单个文件作为参数,所以我尝试了:
location = / {
alias /home/tomas/projects/streamcore/static/index_debug.html;
}
Run Code Online (Sandbox Code Playgroud)
但我仍然只收到 500 INTERNAL SERVER ERROR。“/”请求的错误日志说:
[警报] 28112#0:*7“/home/tomas/projects/streamcore/static/index_debug.htmlindex.html”不是目录
为什么它试图打开“index_debug.htmlindex.html”?我没有在index任何地方使用该指令。
我们正在运行 Jenkins CI。通常我们愿意提供
我们使用Unix 用户/组数据库和基于项目的矩阵授权策略。第 (1) 和 (2) 点效果很好,但我们无法实现 (3)。
我们已经尝试过:
tl;博士
我们想要完全开放(读取)Jenkins CI,其中一些项目完全隐藏/阻止匿名。
昨天我做了一件很愚蠢的事。我编辑了我的 nginx 服务器的配置文件,丢弃了一些设置,就在我保存文件后,我意识到我正在编辑错误的文件。现在我没有重新加载服务器,所以它仍然以旧配置运行。
我想知道是否可以显示服务器正在运行的当前配置。
我有以下问题:我有一个小型服务器(基于 Debian),我可以远程连接(VPN/SSH 连接)。现在我想更改一些启动选项(实际上我想将我的根文件系统迁移到另一个分区),因此我必须重新启动我的系统。
事实上,我担心出现可怕的错误并且 SSH 和 VPN 都无法启动的可能性。在这种情况下,我不得不亲自去位于很远的服务器。我可以要求某人重新启动(以防内核崩溃,...)但没有人有资格修复系统。因此我的问题:
是否有可能在 GRUB2 配置中创建一个条目,使其仅在下次引导时成为默认条目?因此,如果出现问题,我可以重新启动并使用旧系统恢复吗?如果引导运行没有问题(我希望如此),我可以更改 grub,使其默认从新系统引导。
可以用 nginx 做这样的事情吗?
if ( $http_user_agent = "wget" ){
server {
listen 192.0.2.11:1111;
root /website1/;
server_name website1.example www.website1.example;
else
server {
listen 192.0.2.22:22222;
root /website2/;
server_name example2.example www.website2.example;
}
Run Code Online (Sandbox Code Playgroud) 我们有一个正在遭受重创的实时服务器,因此我们正在努力优化我们所能做的一切。我们在其上运行 MySQLTuner 脚本 ( http://mysqltuner.com/ ),它告诉我们应该为 wait_timeout 和 interactive_timeout 设置一个小于 28800 的值。在 1 和 28800 之间有很多可能的数字可供选择!
我在 MySQL 文档中查找了这些变量的含义,但只给出了非常基本的描述,没有选择值的指导。
是否存在被认为是普遍接受的最佳实践的值?选择太低的值可能会产生什么结果?
谢谢,
巴特。
默认情况下,Windows 服务在 sytem32 目录(通常为C:\WINDOWS\system32)中启动。
有没有办法设置不同的工作目录?我正在考虑下面的一些注册表参数HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SomeService。
那么 - 这可以做到吗?
假设我有一个带有 svg 图像的简单网页:
<img src="foobar.svg" alt="not working" />
Run Code Online (Sandbox Code Playgroud)
如果我将此页面设为静态 html 页面并直接查看它,则会显示 svg。如果我输入这个 svg 的地址——它就会显示出来。
但是当我将其设为 .aspx 页面并从 Visual Studio 动态启动它时,我会收到alt文本。如果我输入这个 svg 的地址(来自本地主机,而不是本地文件)——浏览器会尝试下载它而不是显示它。
我已经在 IIS 中定义了 mime 类型(对于整个服务器——“image/svg+xml”)并重新启动了 IIS。效果和之前一样。
问题:我应该多做些什么?
WireShark 不起作用(它在文档中),我也尝试过 RawCap,但它无法跟踪我的连接(奇怪),幸运的是 Fiddler 工作了:
来自客户:
GET http://127.0.0.1:1731/svg/document_edit.svg HTTP/1.1
Host: 127.0.0.1:1731
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
来自服务器的回答:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 16 Feb 2012 11:14:38 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private …Run Code Online (Sandbox Code Playgroud) 对于我的日志文件,我遇到的问题是除了一个(或几个)文件之外的所有文件都使用相同的配置,而其余文件则有另一个。我试图通过为所有文件提供通用配置来实现这一点,然后稍后为少数特定文件覆盖此配置,例如:
/var/log/mylogs/*.log {
size 1000k
copytruncate
create 0644 root root
rotate 99
compress
missingok
}
/var/log/mylogs/thatonespecial.log {
size 1000k
copytruncate
create 0644 myuser mygroup
rotate 99
compress
missingok
}
Run Code Online (Sandbox Code Playgroud)
但是,这会引发错误:
error: /var/log/mylogs/logrotate.conf:10 duplicate log entry for /var/log/mylogs/thatonespecial.log
Run Code Online (Sandbox Code Playgroud)
我应该如何正确处理这种情况?我当然不想单独列出大量标准日志文件,因此使用通配符配置对我来说似乎是合理的。但是我怎样才能在通配符文件中指定一个例外呢?