gpt4 book ai didi

nginx - 如何使用 nginx 部署 web2py?

转载 作者:行者123 更新时间:2023-12-03 20:48:08 25 4
gpt4 key购买 nike

web2py 是一个很棒的 Python 框架,它有很好的文档,包括几个部署 recipes .然而,我想念的是使用 nginx(最好使用 uwsgi)进行部署的秘诀。网络上有一些不完整的注释(如 here ),但我找不到任何完整的独立指南。

最佳答案

好的,仔细查看我上面链接的 web2py 电子邮件列表,我发现 copmlete 解决方案已经存在。我可以按照说明进行操作,感谢 pbreit 的精彩帖子,现在我的部署工作就像一个魅力(在空闲状态下仅使用 38MB RAM)与 nginx+uwsgi。

这是我使用的部分(我只是剥离了 fabfile.py 以在命令行上使用它)
注意:哪里有 'put('....' 我用 nano 文本编辑器来创建和编辑文件

apt-get -y install build-essential psmisc python-dev libxml2 libxml2-dev python-setuptools
cd /opt;
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar -zxvf uwsgi*
mv /opt/uwsgi*/ /opt/uwsgi/
cd /opt/uwsgi/; python setup.py install
chown -R www-data:www-data /opt/uwsgi
touch /var/log/uwsgi.log
chown www-data /var/log/uwsgi.log
apt-get -y install libpcre3-dev build-essential libssl-dev
cd /opt; wget http://nginx.org/download/nginx-0.8.54.tar.gz
cd /opt; tar -zxvf nginx*
cd /opt/nginx*/; ./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module
cd /opt/nginx*/; make
cd /opt/nginx*/; make install
adduser --system --no-create-home --disabled-login --disabled-password --group nginx
cp /opt/uwsgi*/nginx/uwsgi_params /opt/nginx/conf/uwsgi_params

wget https://library.linode.com/web-servers/nginx/installation/reference/init-deb.sh
mv init-deb.sh /etc/init.d/nginx

chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults
/etc/init.d/nginx start

cd /opt/
wget https://library.linode.com/web-servers/nginx/python-uwsgi/reference/init-deb.sh
mv /opt/init-deb.sh /etc/init.d/uwsgi
chmod +x /etc/init.d/uwsgi

echo 'PYTHONPATH=/var/web2py/ MODULE=wsgihandler' >> /etc/default/uwsgi
/usr/sbin/update-rc.d -f uwsgi defaults
/etc/init.d/uwsgi start


rm /opt/nginx/conf/nginx.conf
# modify nginx.conf below and save it as /opt/nginx/conf/nginx.conf
cd /opt/nginx/conf; openssl genrsa -out server.key 1024
cd /opt/nginx/conf; openssl req -batch -new -key server.key -out server.csr
cd /opt/nginx/conf;
openssl x509 -req -days 1780 -in server.csr -signkey server.key -out server.crt

/etc/init.d/nginx restart

配置文件
     user www-data;
worker_processes 4;

events {
worker_connections 1024;

}

http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 2;
sendfile on;
#tcp_nopush on;
tcp_nodelay on;
gzip on;
server {
listen 80;
server_name example.com www.example.com;

location / {
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
}

location /static {
root /var/web2py/applications/init/;
}
}

# HTTPS server
server {
listen 443;
server_name www.example.com example.com;
ssl on;
ssl_certificate /opt/nginx/conf/server.crt;
ssl_certificate_key /opt/nginx/conf/server.key;

location / {
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
}


location /static {
root /var/web2py/applications/init/;
}
}

}

源自 web2py email list
this 的帮助下Linode柱

关于nginx - 如何使用 nginx 部署 web2py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5335153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com