Articles of python

如何通过wfastcgi确定IIS正在使用多less个线程?

我已经使用wfastcgi在IIS上设置了Python Bottle web应用程序。 一切正常,但我想了解multithreading是如何工作的。 我做了一些testing,当有太多请求同时在一个应用程序上处理时,IIS启动了几个瓶子应用程序(而不是多次调用相同的应用程序)。 请问如何知道我可以看到有多less应用程序允许最大的IIS启动? 如果有什么地方我可以监视有多less人正在运行?

在本地Web浏览器上查看在EC2实例输出上运行的python脚本

我有一个在AWS EC2上运行的ubuntu实例。 在这个例子中,我有一个python脚本,当它结束运行时,它应该在屏幕上输出一个图像。 问题是我看不到脚本已经打印的图像是什么,因为它是一个terminal风格的实例。 我有一个Mac,通过它的terminal,我连接到实例并input命令。 我的问题是这样的:是否有可能从我的Mac浏览器远程运行python脚本并查看结果,而实例正在运行? 如果可能的话,那我该怎么做呢?

nginx将REMOTE_ADDR传递给wsgi python web服务器

我在端口8000上运行python web服务器(Falcon)。试图通过nginx传递真正的用户ip: server { listen 80; server_name myhost.com; # ^^^^^^^^^^ my real website name here real_ip_header X-Real-IP; real_ip_header X-Forwarded-For; real_ip_recursive on; set_real_ip_from 127.0.0.1; location / { proxy_set_header Host $host; proxy_set_header REMOTE_ADDR $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Host $remote_addr; proxy_pass http://localhost:8000; } } 但是,接收:127.0.0.1,我该怎么解决? upd2现在我拉'HTTP_X_FORWARDED_FOR',但收到最接近我的networking服务器地址,但不是我的真实IP。

Windows上的Python / MySQL。 问题与openssl

我有一个MySQL服务器设置使用SSL,我也有CA证书。 当我使用MySQL Workbench连接到服务器时,我不需要证书。 我也可以在没有CA证书的Mac上使用Python和MySQLdb连接到服务器。 但是,当我尝试连接使用完全相同的设置Python和MySQL的Windows机器上,我得到访问被拒绝。 看来我需要CA. 当我进入CA时,出现以下错误 _mysql_exceptions.OperationalError: (2026, 'SSL connection error') 我的代码打开连接如下: db = MySQLdb.connect(host="host.name", port=3306, user="user", passwd="secret_password", db="database", ssl={'ca': '/path/to/ca/cert'}) 任何人都可以指出在Windows上的问题是什么? 我相信它与OpenSSL和Python有关。 我从这里安装了OpenSSL。 但是我不认为Python正在使用我安装的这个版本,因为当我使用Python打印版本时,它是不一样的。 这是Python打印的东西。 它仍然不是一个非常旧的版本,应该连接到MySQL时工作 OpenSSL 1.0.2j 26 Sep 2016 我真的不习惯使用OpenSSL及其问题。 我已经从字面上尝试了所有在google上find的解决scheme,通过search我得到的错误,你会认为其中一个应该工作。 但没有一个,所以我猜测问题是在我的系统上的OpenSSL和Python。 任何人都知道我应该尽力至less确定确切的问题? 我也不明白如何在没有CA证书的情况下使用Mac / Python或MySQL Workbench连接到MySQL服务器,但是我在Windows中使用Python获取访问被拒绝的错误:/ 更新: Python版本2.7.13 MySQL服务器企业版本5.7.18

以超级用户身份运行supervisord进程

我的目标是在其中一个程序中运行sudo: [program:doStaff] command=sudo python manage.py doStaff autostart=true autorestart=true stderr_logfile=/var/log/doStaff.err.log stdout_logfile=/var/log/doStaff.out.log 这是来自supervisord.conf的[unix_http_server]: [unix_http_server] file=/var/run/supervisor.sock chmod=0770 试图设置supervisord用户在supervisord.conf中的根,但它没有帮助。 我试图以root身份运行这个进程,因为这个脚本删除了系统中的一些文件。

了解Jupyter笔记本进程

我pipe理一组用户可以运行jupyter笔记本电脑的机器。 用户经常忘记检查自己的内存消耗,closures旧笔记本电脑等,所以我经常要检查自己是谁,吃什么都是内存或CPU。 Jupyter让我很难做到这一点。 我不明白为什么似乎有这么多的进程运行看起来像一个单一的内核。 例如,这里是我在ps看到的那种东西: someuser 66865 0.0 0.3 17415896 6679588 ? S 07:12 0:00 /home/someuser/research/bin/python3 -m ipykernel_launcher -f /run/user/3007/jupyter/kernel-a6a6d1ce-397a-484e-85fe-64cd8c8c8a57.json someuser 66866 0.0 0.3 17407700 6679452 ? S 07:12 0:00 /home/someuser/research/bin/python3 -m ipykernel_launcher -f /run/user/3007/jupyter/kernel-a6a6d1ce-397a-484e-85fe-64cd8c8c8a57.json someuser 66867 0.0 0.3 17407700 6679452 ? S 07:12 0:00 /home/someuser/research/bin/python3 -m ipykernel_launcher -f /run/user/3007/jupyter/kernel-a6a6d1ce-397a-484e-85fe-64cd8c8c8a57.json someuser 66868 0.0 0.3 17407700 […]

easy_install版本差异

我有三个RHEL6服务器,它们似乎安装了相同版本的python-setuptools(对于Python 2.6),但为easy_install报告完全不同的版本。 当我发现其中一个由于SNI问题而无法解决SSL VHost问题时,这一点就显露出来了。 所有的服务器都安装了python-setuptools-0.6.10-3.el6.noarch。 easy_install –version报告的easy_install –version是: setuptools 1.4.2(这是SNI问题) 分配0.6.10 setuptools 36.2.4 from /usr/lib/python2.6/site-packages/setuptools-36.2.4-py2.6.egg(Python 2.6) 谁能告诉我以上版本的出处?

easy_install和pip失败,出现SSL警告

我正在寻找一些RHEL6服务器,并试图设置它们以使用内部的PyPi服务器(由Nexus 3代理)。 问题是我们的内部PyPi服务器是同一个Nginx服务器上的几个SSL VHosts之一,Python 2.6不是SNI兼容; 因此,easy_install失败,因为它试图从错误的Vhost URL下载,并且由于SNIMissingWarning和InsecurePlatformWarning而导致pip失败。 我查看了https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings上的build议,但似乎这是您自己的脚本的解决方法; 它不能解决Python本身的问题。 无论如何,我安装了urllib3和相关的软件包,问题仍然存在。 [[email protected] ~]# pip install –index https://nexus3.internal/repository/pypi-proxy/simple twine DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6 Collecting twine /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but […]

将Python程序通过spawn-fcgi转换为模块

我们已经有许多以spawn-fcgi启动的Python脚本编写的旧服务,通过如下所示的脚本进行pipe理: exec setuidgid www pgrphack \ argv0 spawn-fcgi my_server \ -p "$PORT" \ -F "$CONCURRENCY" — \ "$MY_ROOT"/bin/my_server_backend my_server_backend是一个Python脚本,如下所示: #!/usr/bin/env python import socket import json from my_processor import get_results def main(): s = socket.fromfd(sys.stdin.fileno(), socket.AF_INET, socket.SOCK_STREAM) while True: client, _ = s.accept() request_id, results = get_results(client) res_json = json.dumps(results) response = '%s %d %s' % […]

不能使用任何yum命令“全局名称”IncrementalDecoder“未定义”

每次我编写任何相关的yum命令时,在我的CentOS 6.9 64位系统上,答案是: Traceback (most recent call last): File "/usr/bin/yum", line 29, in <module> yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 298, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 115, in main base.getOptionsConfig(args) File "/usr/share/yum-cli/cli.py", line 229, in getOptionsConfig self.conf File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 911, in <lambda> conf = property(fget=lambda self: self._getConfig(), File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 335, in […]