我在使用 Gunicorn 和 Supervisor 部署 Django 应用程序时遇到问题。虽然我可以让 Gunicorn 为我的应用程序提供服务(通过设置适当的 PYTHONPATH 并运行适当的命令,即来自 supervisord 配置的命令),但我无法让主管运行它。它只是看不到我的应用程序。我不知道如何确定配置文件是否正常。
这是 supervisorctl 所说的:
# supervisorctl start myapp_live
myapp_live: ERROR (no such process)
Run Code Online (Sandbox Code Playgroud)
我在 Ubuntu 10.04 上使用以下配置运行它:
文件 /home/myapp/live/deploy/supervisord_live.ini:
[program:myapp_live]
command=/usr/local/bin/gunicorn_django --log-file /home/myapp/logs/gunicorn_live.log --log-level info --workers 2 -t 120 -b 127.0.0.1:10000 -p deploy/gunicorn_live.pid webapp/settings_live.py
directory=/home/myapp/live
environment=PYTHONPATH='/home/myapp/live/eco/lib'
user=myapp
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)
在 /etc/supervisor/supervisord.conf 文件的末尾,有:
[include]
files = /etc/supervisor/conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
这是我的配置文件的符号链接:
# ls -la /etc/supervisor/conf.d
lrwxrwxrwx 1 root root 48 Dec 4 18:02 myapp-live.conf -> /home/myapp/live/deploy/supervisord_live.ini
Run Code Online (Sandbox Code Playgroud)
对我来说一切都很好,但 supervisorctl 只是一直说myapp_live: ERROR (no …
与常规 setup.exe 文件相比,使用 .msi 文件有哪些优势?
我的印象是在用户权限很少的机器上部署更容易,但不确定细节。
msiexec.exe 有哪些功能使部署比使用 setup.exe 方案更容易?
部署 .msi 应用程序时有什么提示或技巧吗?
我公司正在将所有用户从旧的 Windows XP 计算机升级到新的四核 Win7 计算机。这是一件好事——我们早就应该升级我们的工作站了——但我现在花了大量时间配置新计算机。有没有办法自动化这个过程?
我几乎在每台计算机上执行的步骤:
在那之后我还做了一些其他的事情,这些事情可以很好地自动化,但由于许可证密钥、密码等原因,不太可能。
我知道可以创建计算机的完整映像,但是如何使用不同的硬件/驱动程序?Win7 许可证密钥呢?如果有一种方法可以使这项工作发挥作用,那么最好的(最好是免费/开源)软件是什么?
我发现我经常为我的许多客户设置几乎相同的服务器和 VPS,这可能非常耗时。通常,每次部署之间唯一变化的是要提供服务的不同网站。有没有一种简单的方法可以使所有这些自动化并消除设置 56 个相同服务器的无聊单调?
到目前为止,我部署的服务器只是 Ubuntu,但我可能会开始使用其他 linux 操作系统甚至 Windows。到目前为止,我已经看过 Capistrano,但它似乎专注于编写小的 ruby 程序来完成这项工作,而我根本没有任何知识
我尝试mosh_version使用 ansibledebug msg命令打印先前注册的变量,如下所示:
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
Run Code Online (Sandbox Code Playgroud)
它不起作用并打印以下错误:
Note: The error may actually appear before this position: line 55, column 27
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
^
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be …Run Code Online (Sandbox Code Playgroud) 在 Linux 系统上部署我的生产 Rails 应用程序的合理且合乎逻辑的目录是什么?
一些候选人...
/var/rails <= There's a /var/www so this would be consistent with that
pattern. But I.T. guys have complained about stuff in /var
before.
/home/my_home_dir/rails <= OK, not /var, but I'm not the only developer.
Seems like it really ought to be a systemwide
location.
/home/rails <= I don't know. That just seems weird.
/rails <= Seems even weirder.
Run Code Online (Sandbox Code Playgroud)
在这里做的最不令人惊讶、最正常的事情是什么?
(背景信息——Rails 应用程序是一堆用 Ruby 编写的服务器端代码以及一个public包含 JavaScript、CSS 和一些 HTML 的public目录。该目录被映射到一个 Apache vhost。Apache 通过一个模块处理 …
我正在使用 AWS CodeDeploy 来部署我的站点,但我注意到它的速度不是很一致;有时它非常快,但有时部署的每个步骤可能需要几分钟。当部署应该快速执行时,这是非常烦人的,以防出现错误或中断。
但是,我找不到有关 CodeDeploy 速度的任何文档,而且我似乎找不到任何逻辑,它何时慢或快。有没有办法加快速度,有没有办法知道什么需要这么长时间?
我正在寻找一种使用CloudFront进行蓝/绿部署的方法。
有没有人有一个很好的解决方案来从一个 CloudFront 分布转移到另一个分布,或者每个人真的只是创建他们的分布然后再也不接触它?
我的 CloudFront 分配包含一个用于静态内容(javascript 等)的S3源和一个指向 AWS ELB 的自定义源。
在正常情况下,我们根本不会对 CloudFront 分配进行任何更改。我们通过更改 S3 中静态内容文件的名称对 S3 源中的静态内容进行版本控制,并在弹性负载均衡器 (ELB) 下滚动部署到 EC2 实例。但是,有时我们需要对 CloudFront 分发本身进行测试和更改,或者对我们的环境进行足够大的更改,以至于我们需要指向新环境中的新 ELB。
我尝试的第一个选项是拥有两个单独的 CloudFront Web Distributions,一个用于我当前的环境或 A 环境,另一个用于我的新环境或 B 环境。我尝试使用 Route53加权路由策略,其中我为 www.domain.com Route53 记录添加了两条记录,一条指向权重为 1 的 CloudFront Distribution A,另一个指向权重为 0 的 CloudFront Distribution B。计划是在我想从分配 A 转移到分配 B 时更改权重。 但是,一次只有一个 CloudFront 分配可以注册www.domain.com备用域名 (CNAME),否则您会收到以下错误:
com.amazonaws.services.cloudfront.model.CNAMEAlreadyExistsException: One or more of the CNAMEs you provided are already …Run Code Online (Sandbox Code Playgroud) Microsoft 的 Web 平台安装程序列出了发布日期为 4/11/2011 的“Web 部署工具 2.1”和发布日期为 4/8/2011 的“用于托管服务器的 Web 部署工具 2.1”。据我所知(点击添加,然后安装),内容是一样的:部署工具本身,SQL Server 2008 R2管理对象(依赖),SQL Server Native Client(依赖),SQL Server System CLR Types (依赖)。
这些实际上是否不同,如果是,如何?(如果没有,为什么要同时列出它们?)
我以为我已经解决了这个问题,但在阅读了持续交付(优秀的书)之后,我有点困惑。他们谈论拥有服务器:
我一直认为登台提供 UAT 功能,但他们似乎将登台作为一个单独的级别。那么在该方案中,临时服务器将提供什么功能?
deployment ×10
automation ×2
ansible ×1
apache-2.2 ×1
gunicorn ×1
linux ×1
logging ×1
msi ×1
patch ×1
redhat ×1
supervisord ×1
testing ×1
vps ×1
windows-7 ×1