标签: python

如何为 mod_python 或 mod_wsgi 配置 ISPConfig?

如何为 mod_python 或 mod_wsgi 配置 ISPConfig 以进行类似 django 的应用程序部署?

python configuration mod-python wsgi apache-2.2

5
推荐指数
1
解决办法
2955
查看次数

如何在 IIS 7.5 下减少 ISAPI 应用程序的每进程线程数限制

我有一个在 Windows Server 2008 上的 IIS 7.5 中的 ISAPI 扩展下运行的 python WSGI 应用程序。我想增加工作进程的数量(我知道该怎么做)并减少每个进程的线程数(我不知道) t)。我担心我可能对 GIL 有太多的争论。

我已经看到诸如这些用于修改每个进程的线程的说明,但该设置似乎不会影响我的应用程序 - 我的 w3wp 进程仍然显示相同数量的线程。我认为这是因为该设置仅影响 ASP.NET 应用程序,而事实并非如此。

我知道我可以切换到不同的 python 运行时,例如 stackless 或 twisted。或者不同的主机,例如 Apache。或者不同的操作系统,例如 Linux。我现在负担不起这些任务,正在寻找一些短期调整。

iis python threads iis-7.5 isapi

5
推荐指数
0
解决办法
2035
查看次数

Django 找不到使用 uWSGI 的管理页面的 CSS 文件

即使我按照官方说明进行操作,当我使用 uWSGI 启动 Django 测试站点时,也不会加载管理界面的 CSS 文件。例如http://localhost:8443/static/admin/css/base.css,如果我打开 CSS 文件的 URL,则会收到 404 错误。我搜索了本地文件,我猜它的路径是/usr/local/lib/python3.3/dist-packages/django/contrib/admin/static/admin/css/base.css; 所以我也尝试以 root 身份运行 uwsgi,但没有任何改变。

我使用没有问题python3 manage.py runserver。如果我打开http://localhost:8000/static/admin/css/base.css,文件将加载到浏览器中,并将样式应用于管理页面。

这是我在 bash 中执行的命令:

uwsgi --ini ~/.uwsgi/conf/django.ini --set-placeholder project_name=mysite --set-placeholder port=8443
Run Code Online (Sandbox Code Playgroud)

这是 django.ini 的内容:

[uwsgi]
module = %(project_name).wsgi:application
https = :%(port),/usr/local/nginx/conf/server.crt,/usr/local/nginx/conf/server.key,HIGH
strict = true
chdir = /home/marco/django-projects/%(project_name)
env = DJANGO_SETTINGS_MODULE=%(project_name).settings
socket = /home/marco/.uwsgi/%(project_name).socket
pidfile = /home/marco/.uwsgi/%(project_name).pid
daemonize = /home/marco/.uwsgi/%(project_name).log
master = true
enable-threads = true
harakiri = 20
max-requests = 5000
vacuum …
Run Code Online (Sandbox Code Playgroud)

python django static-content uwsgi

5
推荐指数
1
解决办法
2万
查看次数

nginx + uwsgi - 什么是静态文件?

我使用 nginx 作为几个 Flask 应用程序的代理,使用 uwsgi 作为中间件。这是我的测试应用程序的 nginx 配置。


server {
    listen      80;
    server_name test.myapp.com www.test.myapp.com;
    charset     utf-8;
    client_max_body_size 250M;
    location / { try_files $uri @testapp; }

location @testapp {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/testapp_uwsgi.sock;
}

location /forecaster/components/ {
    alias /opt/test/client/app/components/;
}
Run Code Online (Sandbox Code Playgroud)

}

Run Code Online (Sandbox Code Playgroud)

我很确定 nginx 实际上并没有为静态文件提供服务,即使我注释掉了该location块,文件也是从某些东西中获取的。我在 nginx 日志中看到了 200 个,在 uWsgi 日志中也看到了 200 个。你怎么知道哪个是服务静态文件的?我想烧瓶应用程序也可以为他们服务?

/opt/test/client/app/components/ 肯定存在,并且对其他人可读。有什么方法可以强制 uwsgi 不处理这些请求?

python nginx uwsgi flask

5
推荐指数
1
解决办法
1万
查看次数

将collectd 与Python 3 结合使用

我想在collectd中使用Python 3解释器,但是没有(记录的)选项来设置解释器的路径或版本,并且它默认为也安装在我的系统上的Python 2解释器(位于/usr/bin/python2.7)。

我的 Python 3 解释器位于/usr/bin/python3/usr/bin/python与其符号链接;运行“env python”和“python”都给我Python 3解释器。

Collectd 的 Python 插件的文档(不清楚,在 IMO 看来尚未完成)提到了 Python 3 :

编码名称 - 传递给collectd 的Unicode 对象的默认编码。如果省略此选项,它将在 Python 2 上默认为 ascii,在 Python 3 上默认为 utf-8。这是在 Python 中硬编码的,将忽略其他所有内容,包括您的语言环境。

但这并没有告诉我们如何实际使用 Python 3,而且 Google 似乎也不知道。

python collectd

5
推荐指数
1
解决办法
2697
查看次数

salt-stack : 没有找到顶部文件或外部节点数据匹配

为了测试 salt-stack,我想将一个配置文件复制到另一个远程(我正在本地主机中测试 master 和 minion)

/etc/salt/minion :

master: 127.0.0.1
file_roots:
  base:
    - /srv/salt/base
Run Code Online (Sandbox Code Playgroud)

/etc/salt/master:

interface: 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

/srv/salt 树:

 # tree srv/
srv/
??? salt
?   ??? base
?       ??? env
?           ??? envpy.template
?           ??? init.sls
??? top.sls
Run Code Online (Sandbox Code Playgroud)

和模板文件:

# cat /srv/salt/base/env/envpy.template
This is a test !
Run Code Online (Sandbox Code Playgroud)

这是初始化文件:

#  cat /srv/salt/base/env/init.sls 

/home/myHome/env.py:
  file:
    - managed
    - source: salt://base/env/envpy.template
Run Code Online (Sandbox Code Playgroud)

最后是顶级文件:

# cat  /srv/salt/top.sls 
base:
  '*':
    - base.env
Run Code Online (Sandbox Code Playgroud)

运行盐highstate:

# salt '*' state.highstate 
myHost:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: …
Run Code Online (Sandbox Code Playgroud)

python saltstack

5
推荐指数
1
解决办法
1万
查看次数

AttributeError: 'module' 对象没有属性 * python

我正在努力从源代码编译 python 2.7.9,并被建议在这里提出这个问题。

按照此处描述的步骤安装 python 2.7.9 时,发生了以下错误:

python make: *** [libinstall] Error 1
Run Code Online (Sandbox Code Playgroud)

我尝试重新安装以前版本的python:

sudo apt-get install --reinstall  python2.7-dev
Run Code Online (Sandbox Code Playgroud)

安装正常进行。但是,现在,当尝试导入 hashlib 时,我得到以下信息:

Traceback (most recent call last):
  File "./server.py", line 5, in <module>
    import hashlib
  File "/usr/lib/python2.7/hashlib.py", line 138, in <module>
    _hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'
Run Code Online (Sandbox Code Playgroud)

我也无法使用pip安装任何软件包,因为提供的唯一输出是:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
Run Code Online (Sandbox Code Playgroud)

我安装了python-setuptools …

linux ubuntu debian installation python

5
推荐指数
0
解决办法
6413
查看次数

如何在 openshift 官方 python 墨盒上使用 apache 提供静态文件?

我有带有官方 python-2.7 墨盒的可扩展 openshift 在线应用程序。默认情况下,一切都由 mod_wsgi 处理程序提供。如何配置我的应用程序和/或 Apache 以使用 Apache 而不是 python 后端在我的存储库中提供一些静态文件(如图像、css 和 javascript)?

python static-files apache-2.2 openshift-online-2

5
推荐指数
1
解决办法
2749
查看次数

带有 Apache 和 mod_wsgi 的 Django:除非设置 Debug = True,否则没有系统日志

我正在使用 apache 网络服务器和 mod_wsgi 将请求传输到 django。

$ apache2ctl -v
Server version: Apache/2.4.10 (Raspbian)
Server built:   Sep 17 2016 16:40:43
Run Code Online (Sandbox Code Playgroud)

我正在使用这个 apache 站点来声明 django 应用程序:

ServerName example.com
DocumentRoot /srv/webapps/myapp

<Directory /srv/wepapps/myapp/mysite>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess example.com python-path=/srv/webapps/myapp:/usr/local/lib/python3.4/dist-packages:/usr/lib/python3/dist-packages
WSGIProcessGroup example.com
WSGIScriptAlias / /srv/webapps/myapp/mysite/wsgi.py

LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但如果引发异常,它会显示错误 500,但我的example.com_error.log. 如果我将设置修改为 set Debug = True,我可以在 Web 浏览器中看到错误,但在我的 /var/log/apache2 文件中也可以看到错误。但我真的不想在我的生产环境中保留这个设置。

你知道为什么我必须Debug = True允许 django 写入系统日志吗?

在此先感谢您的回答,如果我在英语方面犯了一些错误,我深表歉意;-)

python logging django mod-wsgi apache-2.4

5
推荐指数
1
解决办法
8563
查看次数

Ubuntu 20.04 最小版本:“无法找到包 python-pip”

在 GCP 中启动一些小型虚拟机,并认为我会给 Ubuntu 20.04 LTS 最小的尝试。执行“apt update; apt upgrade”后,我可以安装像 Apache 这样的软件包,但使用 PIP 的运气为零:

root@ubuntu-rr58:/home/me# apt install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python-pip
Run Code Online (Sandbox Code Playgroud)

我已经验证了 Universe、Multiverse 和 Restricted 存储库可用:

root@ubuntu-rr58:~# grep ^deb /etc/apt/sources.list
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu focal-security …
Run Code Online (Sandbox Code Playgroud)

python pip apt google-cloud-platform ubuntu-20.04

5
推荐指数
1
解决办法
8908
查看次数