使用 SQLite3, Nginx, Gunicorn 在 Ubuntu 1604 上部署 Django
来源:互联网 发布:全国公路数据库系统 编辑:程序博客网 时间:2024/06/06 04:28
参考文章:
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04
1. 安装 Python3 和 Ngnix
$ sudo apt-get update
$ sudo apt-get install python3-pip python3-dev nginx
2. 设置 Python 虚拟环境
2.1 安装 virtualenv
$ sudo -H pip3 install virtualenv
2.2 创建虚拟环境
$ mkdir ~/myproject
$ cd ~/myproject
$ virtualenv myprojectenv
2.3 激活虚拟环境
$ source myprojectenv/bin/activate
2.4 安装 Django, Gunicorn
$ pip install django gunicorn
3. 配置 Django
3.1 上传本地 Django 文件夹到服务器 myproject 目录
3.2 修改 Django setting.py 文件
$ nano ~/myproject/myproject/settings.py
settings.py
ALLOWED_HOSTS = ['your_server_domain_or_IP', 'second_domain_or_IP', . . .]
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
3.3 搜集静态文件
$ ~/myproject/manage.py collectstatic
3.4 添加端口 8000 防火墙规则
$ sudo ufw allow 8000
3.5 测试 Gunicorn
$ gunicorn --bind 0.0.0.0:8000 myproject.wsgi
3.6 停止虚拟环境
$ deactivate
4. 创建 Gunicorn systemd 服务文件
4.1 创建文件
$ sudo nano /etc/systemd/system/gunicorn.service
/etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=sammy
Group=www-data
WorkingDirectory=/home/sammy/myproject
ExecStart=/home/sammy/myproject/myprojectenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/sammy/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
4.2 启动服务,添加到开机
$ sudo systemctl start gunicorn
$ sudo systemctl enable gunicorn
5. 配置 Nginx
5.1 配置文件
$ sudo nano /etc/nginx/sites-available/myproject
/etc/nginx/sites-available/myproject
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/sammy/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
}
}
5.2 文件链接到sites-enabled目录来启用该文件
$ sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
5.3 重启 Nginx 服务
$ sudo systemctl restart nginx
5.4 设置防火墙
$ sudo ufw allow 'Nginx Full'
至此,配置完成。
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04
1. 安装 Python3 和 Ngnix
$ sudo apt-get update
$ sudo apt-get install python3-pip python3-dev nginx
2. 设置 Python 虚拟环境
2.1 安装 virtualenv
$ sudo -H pip3 install virtualenv
2.2 创建虚拟环境
$ mkdir ~/myproject
$ cd ~/myproject
$ virtualenv myprojectenv
2.3 激活虚拟环境
$ source myprojectenv/bin/activate
2.4 安装 Django, Gunicorn
$ pip install django gunicorn
3. 配置 Django
3.1 上传本地 Django 文件夹到服务器 myproject 目录
3.2 修改 Django setting.py 文件
$ nano ~/myproject/myproject/settings.py
settings.py
ALLOWED_HOSTS = ['your_server_domain_or_IP', 'second_domain_or_IP', . . .]
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
3.3 搜集静态文件
$ ~/myproject/manage.py collectstatic
3.4 添加端口 8000 防火墙规则
$ sudo ufw allow 8000
3.5 测试 Gunicorn
$ gunicorn --bind 0.0.0.0:8000 myproject.wsgi
3.6 停止虚拟环境
$ deactivate
4. 创建 Gunicorn systemd 服务文件
4.1 创建文件
$ sudo nano /etc/systemd/system/gunicorn.service
/etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=sammy
Group=www-data
WorkingDirectory=/home/sammy/myproject
ExecStart=/home/sammy/myproject/myprojectenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/sammy/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
4.2 启动服务,添加到开机
$ sudo systemctl start gunicorn
$ sudo systemctl enable gunicorn
5. 配置 Nginx
5.1 配置文件
$ sudo nano /etc/nginx/sites-available/myproject
/etc/nginx/sites-available/myproject
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/sammy/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
}
}
5.2 文件链接到sites-enabled目录来启用该文件
$ sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
5.3 重启 Nginx 服务
$ sudo systemctl restart nginx
5.4 设置防火墙
$ sudo ufw allow 'Nginx Full'
至此,配置完成。
阅读全文
0 0
- 使用 SQLite3, Nginx, Gunicorn 在 Ubuntu 1604 上部署 Django
- django + gunicorn + nginx 部署
- nginx+gunicorn+django部署
- 在Ubuntu上使用Nginx+uwsgi部署django
- nginx + gunicorn + virtualenv部署django
- [django]django 部署,gunicorn、virtualenv、nginx
- python 在centos上用nginx+Gunicorn部署 flask 项目
- django+nginx+supervisor+gunicorn+gevent 网站部署
- Mac下Django+gunicorn+Nginx服务器部署
- nginx+gunicorn+virtualenv部署django项目
- django+nginx+supervisor+gunicorn+gevent 网站部署
- nginx + gunicorn + django的简单部署
- Django+nginx+gunicorn部署流程(一)
- Django+nginx+gunicorn部署流程(二)
- django+gunicorn+nginx部署项目 入门经验
- centos6 nginx + gunicorn + django的简单部署
- nginx&gunicorn&django阿里云简单部署
- Django+nginx+gunicorn部署个人博客
- 安卓文件自动打开跳转
- 对js的一些总结
- js对未知内容的json如何操作
- 总结命令行04:Storm
- Spring AOP详解
- 使用 SQLite3, Nginx, Gunicorn 在 Ubuntu 1604 上部署 Django
- SpringBoot快速开发Rest风格的Web应用
- 安卓Dialog实现透明背景
- VMware Vsphere 6.0安装部署
- Eclipes Jrebel 7.0.14安装 破解 配置 启动项目
- 类和对象:给大家介绍对象
- 一分钟了解"用英语表示目标存在/在场 or not"
- open-falcon Dashboard初步使用
- IC智能卡热表系统