利用可能なチュートリアルのほとんどは、上流のHTTPサーバー(NGINXなど)でuWSGIを設定する方法を示しています。しかし、uWSGIだけでも、ルータ/プロキシ/ロードバランサとして美しく機能することができます。this 私のプロジェクトではNGINXを設定したくなかったので、uWSGIでWebページを提供するオプションを検討し始めました。ここの答えは、ピラミッドで設定する方法を示しています。ピラミッド(NGINXなし)を使用したWebサーバーとしてのuWSGIの設定
5
A
答えて
10
pyramid_mongodb scaffoldを使用しています。これはpython3で動作させるために変更しました。詳細については、hereを参照してください。 Pyramidプロジェクト(pcreate -s pyramid_mongodb MyProject
で作成)があると仮定します。我々はuWSGIを使用しているので、ここで が開発/ production.ini
[uwsgi]
http = 0.0.0.0:8080
#http-to /tmp/uwsgi.sock - use this for standalone mode
#socket = :9050
master = true
processes = 2
harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192
daemonize = ./uwsgi.log
pidfile = ./orange_uwsgi.pid
listen = 128
max-requests = 1000
reload-on-as = 128
reload-on-rss = 96
no-orphans = true
#logto= <log file>
log-slow = true
virtualenv = <path to virtual environment>
#file = /path/to/pyramid.wsgi
#callable = application
need-app = true
に必要なuWSGI構成されている私たちは uwsgi --ini-paste development.ini
#[server:main]
#use = egg:waitress#main
#host = 0.0.0.0
#port = 6544
からserver
部分をコメントアウトすることができます
2
さらに簡単に!すべての "development.ini"ファイルを変更する必要はありません。
from pyramid.paster import get_app,setup_logging
ini_path = '/pathto/myapp/development.ini'
setup_logging(ini_path)
application = get_app(ini_path,'main')
のは、それの内容で「myapp.conf」を言わせて作成します。あなたの「開発」及び「製造」のiniファイルが存在、次の内容の「wsgi.app」と呼ばれるファイルは、アプリケーションフォルダに を作成します。 :
[uwsgi]
socket = 127.0.0.1:3053
uid = daemon
gid = daemon
venv = /pathto/myenv
project_dir = /pathto/myapp
chdir = %(project_dir)
master = true
plugins = plugins/python/python
check-static = %(project_dir)
static-skip-ext = .py
static-skip-ext = .pyc
static-skip-ext = .inc
static-skip-ext = .tpl
pidfile2 = /var/run/uwsgi/myinfo.pid
disable-logging = true
processes = 8
cheaper = 2
enable-threads = true
offload-threads = N
py-autoreload = 1
wsgi-file = /pathto/myapp/wsgi.py
とnginxの的な設定は非常に簡単です:/パス/を/ usr /」と
server {
listen [xxxx:xxxx:xxxx:xxx:xxxx:xxxx]:80; #for IPv6
listen xxx.xxx.xxx.xxx:80; #for IPv4
server_name myapp.domain.com;
location/{
try_files $uri @uwsgi;
}
location @uwsgi {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3053;
}
}
- 再起動nginxのsbinに/ nginxの-sリロード」 はuwsgiプロセスを開始
- - >に変更 "" CDの/usr/local/uwsgi-2.0.9 - > ./uwsgi -ini /var/www/myapp.conf
関連する問題
- 1. マルチスレッドリクエスト.postをuWSGI、ピラミッドを使用して
- 2. uWSGIを使用したnginxとDjangoアプリのタイムアウトエラー
- 3. Dockerを使ってuwsgiとnginxを設定する
- 4. コードを使用したnginx設定
- 5. nginxを使用してWebルートとしてjenkinsワークスペースを使用
- 6. MonoとNginxを使用したASP.net MVC - インデックスファイルの設定方法
- 7. Web App診断ログ:スロット設定としてのWebサーバーのログ
- 8. nginxとuwsgiを使用してdjangoアプリケーションをデプロイすると、クライアントはサーバーに接続できません
- 9. nginx + Apache + mod_wsgiとnginx + uWSGIを比較しますか?私は2007年から開発しているのmod_wsgiで見ると、より安定したバージョンを持っており、簡単には</p> <p>を投与され使用して生産のnginxの+ uWSGI対nginxの+ Apacheの+のmod_wsgiをを使用して
- 10. DjangoとUwsgiを使用したデプロイ
- 11. PHPのCMS用にnginxを使用したHTTPS設定Kirby
- 12. ロードバランス - NGINXを使用したWebアプリケーション
- 13. NginxとWSGIとuWSGi
- 14. nginxとNamecheapを使用してサブドメインを設定する
- 15. HTML5Modeを使用した複数のAngularJS2プロジェクトでのNginx設定
- 16. Webおよびモバイルサイトのリダイレクト用にNGINXを設定します
- 17. ピラミッドと.iniの設定
- 18. HTML5 App Cacheを使用した単一ページアプリケーションのNginx設定
- 19. uWSGIとNginxの違い
- 20. Djangoを使用してWebサーバーを使用しない
- 21. flask-uwsgi-nginxプロジェクトでスパークを使用しないモジュールpysparkの問題
- 22. PhpMyadmin:Apacheを使用したWebサーバーのインストール
- 23. nginxを使用してマイクロサービスのタイムアウトを設定する
- 24. IISサーバーのリバースプロキシとしてnginxを使用する
- 25. nodejs Appとnginxのサーバー設定
- 26. Nginx、uWSGI、web.pyを使ったMemoryError
- 27. nginx - 高性能Webサーバーの起動に失敗しました
- 28. リソースはuwsgi + nginxを使用して一時的に利用できません
- 29. NginxをWebサーブレットのプロキシとして使用する
- 30. NginxとuWSGI WebサーバのエラーをSentryに記録する
この場合のNGINX部分は(オプション)のみです。しかし、この時点でアプリケーションはhttp://127.0.0.1:3053のリクエストを聞くことができるはずです – SmileMZ