我正在尝试将 uWSGI 与虚拟环境一起使用,以便在其上使用 Trac 错误跟踪器。
我已经通过 pip 安装了系统范围的 uwsgi。
接下来,我在 virtualenv 中安装了 trac
$ virtualenv venv
$ . venv/bin/activate
$ pip install trac
Run Code Online (Sandbox Code Playgroud)
然后我编写了一个简单的 uWSGI 配置脚本:
[uwsgi]
master = true
processes = 1
socket = localhost:3032
home = /srv/http/trac/venv/
no-site = true
gid = www-data
uid = www-data
env = TRAC_ENV=/srv/http/trac/projects/my_project
module = trac.web.main:dispatch_request
Run Code Online (Sandbox Code Playgroud)
但是当我尝试启动它时,它失败了:
$ uwsgi --http :8000 --ini /etc/uwsgi/vassals-available/my_project.ini --gid www-data --uid www-data
...
Set PythonHome to /srv/http/trac/venv/
...
*** Operational MODE: single process ***
ImportError: No module …Run Code Online (Sandbox Code Playgroud) 是否可以将 nginx proxy_cache_key 配置为包含特定标头作为键,而不仅仅是请求/参数?
我想缓存我的 API GET 命中,并在我的标头中使用 x-authtoken 进行身份验证。这当前被忽略,因此如果我启用缓存,另一个用户将获得前一个用户的缓存。
我有一个 REST API,它返回304 Not Modified某个请求的状态代码(具有 If-Modified-Since 标头)。问题是 apache2 软件在将响应发送到浏览器之前删除了任何 CORS 标头。
仅当状态代码为 时才会发生这种情况304。任何其他端点都适用于 CORS。所有的飞行前请求也很好用。
我在互联网上读到 Apache 这样做是为了符合某些规范,但我不敢相信带有 304 的 CORS 不应该在规范中工作。
有没有办法用 apache 实现这个?
更新:
我的 javascript 是
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://api.domain.com/api/endpoint?token='+localStorage.getItem('token'));
xhr.setRequestHeader("If-Modified-Since", "Mon, 11 Jan 2016 15:46:54 GMT");
xhr.send(null);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“ http://xxx.domain.com ”。
我想在生产中拥有一个 KVM 虚拟化服务器,其中包含很少的 VM(具有不同的来宾操作系统)。现在,当我想为主机安装内核/软件包更新时,如何在不损坏任何 VM 数据的情况下重新启动虚拟机管理程序?(当 VM 上发生一些 SQL/磁盘写入时)
我知道这是一个非常简单的问题,但我主要想知道KernelCare是否应该是主机保持更新的最佳选择。我正在考虑没有数据损坏/任何此类严重问题,但 VM 的最小中断是可以的(在应用程序托管服务器环境中)。
我已经安装了 fail2ban 并且我正在尝试将其设置为阻止出现在系统日志中的特定消息中的 IP 地址。系统日志中的消息是:
racoon: ERROR: Invalid exchange type 243 from 103.14.62.181[11950]
通常每条消息都有不同的 IP 地址,括号中的数字(端口?)也不同。看起来我可以通过执行以下操作来创建自定义过滤器:
racoon: ERROR: Invalid exchange type 243 from <HOST>
但我的问题是,我可以停在那里并让fail2ban做它的事情,还是我需要指定这样的东西:
racoon: ERROR: Invalid exchange type 243 from <HOST>[IDONTKNOWWHATGOESHERE]
如果我需要指定类似上面的内容,应该出现在括号中的有效通配符是什么?有关 OpenVPN 的 fail2ban 文档(最接近的示例)显示了这一点:
http://www.fail2ban.org/wiki/index.php/OpenVPN
* <HOST>:[0-9]{4,5} Connection reset, restarting \[[0-9]{1,2}\]
看起来他们使用 [0-9]{4,5} 作为端口号的通配符。这在我的情况下是否有效?
我是否完全偏离了我的过滤器示例?
这里的最终目标是将任何因 243 交换错误而失败的内容添加到带有 DROP 标志的 IP 表中。我可能有更多关于我的过滤器的问题,以及在我得到最初的问题回答后没有的问题。
在我的服务器我重定向邮件,抵达in@example.com,到manager1@gmail.com和manager2@gmail.com使用/etc/aliases的文件。
最近我在我的my.email@gmail.com邮箱中收到了以下电子邮件(postmaster@example.com邮件被重定向到):
Received: by 10.52.34.73 with SMTP id ...;
Sun, 27 Apr 2014 03:37:39 -0700 (PDT)
...
Received: from myhost (... [16.19.64.110])
by mx.google.com with ESMTPS id ...
for <my.email@gmail.com>
(version=TLSv1 cipher=RC4-SHA bits=128/128);
Sun, 27 Apr 2014 03:37:39 -0700 (PDT)
...
Received: from Debian-exim by myhost with local (Exim 4.72)
id ...
for postmaster@example.com; Fri, 25 Apr 2014 13:17:05 +0300
...
Date: Fri, 25 Apr 2014 13:17:05 +0300 …Run Code Online (Sandbox Code Playgroud) 我用 Ubuntu 14.04 为 Samba 构建了一个小型服务器,我有一个 SSD 驱动器(安装了 ubuntu)和 2 个 3TB SATA 磁盘,sata 磁盘与 mdadm 组合成 Raid 1。
现在有时(不是每次都这样,我认为这可能与脏关机有关)系统在启动过程中挂起:
incrementally starting raid arrays
mdadm: Create user root not found
mdadm: create group disk not found
incrementally started raid arrays
Run Code Online (Sandbox Code Playgroud)
这 4 行不断重复。这真的很奇怪,因为启动卷(ssd)没有配置为raid,这不应该影响它吗?
重要编辑:如果我按 ctrl + alt + del ,服务器会重新启动并正常启动,如果我在mdadm --detail /dev/md0
启动后查看 raid dev ,一切看起来都不错。
我不是 linux 专业人士,也没有在互联网上找到与这些错误相关的任何内容,所以现在我有点卡住了,也许有人知道问题可能是什么或一些高级故障排除建议(日志文件等) ?
感谢阅读 Stefan
我们有一个在 Xen 上运行 Ubuntu 的 VPS。问题是,大约每天一次,大约 20-50 分钟,随机时间,服务器对外界完全没有响应。在这段时间之后,它再次变得响应,好像什么也没发生过一样,它不会失去正常运行时间,也不会重新启动。它只是再次开始响应,就好像它一直处于假死状态一样。
这些中断发生在非异常内存和 cpu 的条件下,例如 70% mem、5% cpu。我已经停止了所有非必要的服务,所以使用非常均匀。这些中断不会特别发生在内存/cpu 增加时(在日常任务期间),它们有时会在 cpu 使用率非常低 (<2%) 时发生,但在过去也发生在交换期间。
这些停电在 Ubuntu 12.04 LTS 和 Ubuntu 14.04 LTS 下都发生过——根本没有变化(我专门升级了 Ubuntu,看看它是否有助于解决这个问题)。
可以登录我们的虚拟主机站点,并使用他们的管理控制台查看这段时间内的错误消息。据推测,这些消息来自 Xen 虚拟化,主要消息如下:
BUG: soft lockp - CPU#0 stuck for 22s! [ksoftireqd/0:3] (repeats many times)
SysRq : Emergency Sync (Sometimes this is the only message in the console)
Run Code Online (Sandbox Code Playgroud)
之前在不同负载情况下看到的其他情况包括:
BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:0]
Run Code Online (Sandbox Code Playgroud)
(重复多次)或:
INFO: rcu_sched detected stall on CPU 0 (t=15000 jiffies)
Run Code Online (Sandbox Code Playgroud)
(随着 t 变大重复多次) …
我想知道是否可以看到哪个应用程序正在使用我的 ram 缓冲区和缓存。当数据从缓存中删除时,内核中是否还指定了任何时间。我的 Ram 被缓冲区和缓存完全使用,它也开始吃掉交换。
free -m 的输出:
$ free -m
total used free shared buffers cached
Mem: 14034 13878 156 0 10 11362
-/+ buffers/cache: 2505 11528
Swap: 8187 478 7709
Run Code Online (Sandbox Code Playgroud) 我有一个在私有子域上运行的服务器,server.internal.example.com
example.com是公开的但internal.example.com不是。
我已使用 CertBot 生成证书,*.example.com但如果我尝试扩展此证书以包含*.internal.example.comDNS 质询,则会失败,因为 LetsEncrypt 无法访问此域。我尝试过运行两者:
sudo certbot certonly --manual --preferred-challenges=dns -d *.example.com -d *.internal.example.com
sudo certbot certonly --manual --preferred-challenges=dns -d *.example.com -d server.internal.example.com
Run Code Online (Sandbox Code Playgroud)
但这都要求我进行 LetsEncrypt 无法看到的 DNS 记录更改。有没有办法解决?