Articles of python

/ bin / sh和/ bin / bash(chrooted)之间的区别

我陷入这个问题: 我有一个新的服务器,我通过SSH访问,使用PuTTy。 在Configuration中,我需要select使用ssh访问服务器所需的ssh shell。 select: /bin/sh /bin/bash /bin/dash /bin/bash(chrooted) 如果我select/bin/sh ,我没有一些权限,例如安装Python的setuptools,如果我select/bin/bash(chrooted) ,我没有python,如果我python说:找不到命令。 我正在使用Debian 7, 我该怎么办?

从Python Django连接到SQL Server

我有一个运行在基于Linux的服务器上的Django站点。 我的合作伙伴在Cisco路由器后面的IIS Windows服务器上运行SQL Server。 我们正在寻找Django站点连接到SQL服务器并与数据库交互的安全方式。 目前我们通过在cron作业中运行一个shell脚本来解决这个问题:使用vpnc启动VPN,2)运行python代码(pyodbc)并将结果写入sqlite数据库,3)断开VPN。 然后在Django代码中,我们访问sqlite数据库。 这个解决scheme看起来很呆板。 理想的方法是让pyodbc直接安全地连接到SQL Server。 任何人都知道如何做到这一点? 谢谢!

每次在VirtualBox下主机重置消息的点数超时

当试图安装requirements.txt(或者其他任何东西)时,每次使用主机重置消息时,pip都会超时。 这只发生在VirtualBox(guest CentOS 6.4 64位,主机Windows 7 64位)下,并且只发生在pip / easy_install工具中。 几乎看起来像pypi CDN只是拒绝连接。 任何人都知道是什么原因造成的,怎样才能解决?

将pip安装到自定义位置

在安装pip时,我有点卡住了。 Securely download get-pip.py. [2] Then run the following (which may require administrator access), to install (or upgrade to) the latest version of pip: $ python get-pip.py 麻烦的是,这种方法是安装到不同的path比预期。 所以我必须这样做: export PATH=$PATH:/usr/local/bin 有没有一种方法来安装它的path,或者我可以做这样的事情: /user/local/bin/pip install supervisor 最后,这比安装pip更好: apt-get install python-pip 易于安装的点子

将原始电子邮件消息发送到python脚本

在exim4中,我使用下面的pipe道将消息发送到python脚本,处理它,并将其上传到django: send_to_django_mailbox: driver = pipe command = /usr/local/bin/python /etc/exim4/conf.d/transport/send_mail.py $message_body $message_headers_raw return_path_add delivery_date_add 而不是传递$message_body和$message_headers_raw我想传递非常原始的消息,没有任何替代。 我怎样才能做到这一点? 我找不到一个variablesmessage_raw或类似的。

PAM执行标准输出问题

我遇到了一个死的简单的Python脚本的问题; 用pam_exec调用。 我在该文件/etc/pam.d/common-session的末尾添加了一行: 会话可选pam_exec.so / bin / python /usr/local/bin/pam_notify_python.py pam_notify_python.py脚本包含一个简单的print "Hello world" 显然,这是行不通的,但我不明白为什么。 当我su user或简单su ,脚本不打印任何东西,但是当我启动一个新的shell并手动执行python /usr/local/bin/pam_notify_python.py它正在工作。 我错过了什么 ? 谢谢阅读 !

设置UWSGI在venv中运行一个模块

我很难从UWSGI运行一个模块。 这是我的部署代码的一部分: # ENVIRONMENT /usr/bin/pip install virtualenv mkdir -p /srv/www/test /usr/local/bin/virtualenv /srv/www/test/venv source /srv/www/test/venv/bin/activate /srv/www/test/venv/bin/pip install –force-reinstall -e [email protected]:xyz/project.git#egg=project 这是模块根目录中的run.py代码 from project import app def main(): """docstring for main""" app.run(debug=True) if __name__ == '__main__': main() 这是我试图用来运行它的命令: / usr / local / bin / uwsgi –virtualenv $ ENV –module项目–chdir $ APP – 主 这是运行此命令后得到的消息: uWSGI以root身份运行,可以使用–uid / […]

Apache进程比MaxClients更多

我们有Apache运行的工人MPM和MaxClients设置为6,但是当我打开顶部,我可以看到超过6个Apache进程运行。 13下面的屏幕转储中可见。 有人可以解释这个吗? 还有一个来自/ server-status /的屏幕转储,大约在同一时间。 在我们正常的加载下,似乎一次只能处理2-6个请求,所以我期望看到许多apache2进程在最前面运行。 我可以协调这一点的唯一方法是假设在最大负载下,有3个服务器运行(ServerLimit 3,3 apache2进程),每个都有2个线程(3×2 = 6个apache2进程),但即使这样也会导致9个apache进程最多运行。 Apache本质上是逃避,从不释放内存。 我们每秒提供大约5-6个请求,使用/ server-status /进行监视,所以我认为将MaxRequestsPerChild设置为1000(我们已经使其低至500)会导致进程回收并释放内存,但是这并不似乎发生。 我们通过New Relic来监视Apache进程内存。 当我们重新启动Apache时,下面的configuration会消耗大约550M的内存。 每个进程最终都会膨胀到VIRT:300m RES:80m,我们似乎无法控制正在运行的进程数量,所以Apache在12-14小时内从550M-5G上升,并将我们抹去。 我已经检查了/conf.d/目录,以确保我们不覆盖我们的apacheconfiguration中的任何设置。 有没有人有任何build议获得Apache的控制权? 我知道我们有一个运行mod_wsgi的胖python应用程序,可能有内存泄漏,当然可以优化,但我只是想控制产生的apache进程的数量。 Apacheconfiguration: ### Section 1: Global Environment # # The directives in this section affect the overall operation of Apache, # such as the number of concurrent requests it can handle or […]

Supervisord,Flask,Tornado(退出状态1,不预期)

有一些问题让主pipe来运行我的龙卷风应用程序。 我有一个使用Flask构build的REST API,使用Tornado来尝试并提供它。 我遇到的问题是,当我尝试与pipe理员一起运行时,似乎无法导入其他支持python软件包。 inf_api是烧瓶API。 这里是龙卷风的脚本 from influence_api import app from tornado.wsgi import WSGIContainer from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options define("port", default=8080, help="Port to listen on", type=int) if __name__ == '__main__': options.parse_command_line() http_server = HTTPServer(WSGIContainer(app)) http_server.listen(options.port) IOLoop.instance().start() 程序部分的supervisord.conf(我已经尝试了几次迭代) [program:tornado-8080] autostart=true autorestart=true environment=USER=root,PYTHONPATH=/usr/bin/ command=python /media/sf_Projects/inf_api/inf_api/inf_server_nginx.py stderr_logfile = /var/log/supervisord/tornado-stderr.log stdout_logfile […]

Apache2 mod_rewriteredirect除了一个文件夹的所有文件

我需要将旧网站(www.old.com)的请求redirect到新网域(www.new.com),但我希望将旧内容保留在不同的文件夹中(www.old.com/oldsite )。 我有规则redirect所有请求,但文件夹exception似乎并没有工作: RewriteCond %{HTTP_HOST} www.old.com RewriteRule ^/old_website/(.*) $1 RewriteRule (.*) http://www.new.com/new_site_is_here.php 谢谢!