Nginx+uwsgi 上线Django博客

文章源地址:文章源地址
本文请配合 Django收集后端静态文件 一起看
具体网站样式可访问 翔仔的个人博客
具体代码可见 GitHub-博客源代码

本文基于Ubuntu 16.04 + Nginx + Uwsgi 讲解部署 Django网站,采用阿里云服务器,自带的 Python 3.5 环境。

以下讲解采用 root 账号,采用子账号注意添加 sudo 命令


一、利用 Git 或 XFtp 等工具将源文件等传递到服务器,并修改 Django 的配置
DEBUG = False
ALLOW_HOSTS = ['*']
二、安装必要软件

1、安装 pip3

apt-get update
apt-get install pip3

2、导入环境

pip3 install -r requirements.txt

3、安装 Nginx

apt-get update
apt-get install nginx

安装完成后公网访问服务器 ip 地址,可得到对应界面。

4、安装 Uwsgi
  4.1、本地访问 Uwsgi下载地址, 下载 Stabl/LTS版本的源文件。
  4.2、本地解压这个源文件(点开后是能看到 setup 文件),然后将解压后的文件拖入 /home 路径下。
  4.3、执行命令安装 Uwsgi。

cd /home/your_uwsgi_file_name
apt-get install python3-setuptools
apt-get install python3-dev
python3 setup.py install

5、安装 MySQL (采用 Django 自带的 Sqlite3 数据库的请跳过)

apt-get update
apt-get install mysql-server  # 过程中需要输入密码,此密码为数据库密码
apt-get install mysql-client

6、修改 setting.py 所在目录的那个 init.py 文件

import pymysql
pymysql.install_as_MySQLdb()

7、安装 mysql 驱动

pip3 install pymysql

8、创建对应的数据库

vim /etc/mysql/mysql.conf.d/mysqld.cnf
band-address = localhost  # 在文件中找到并注释掉这句话

mysql -u root -p  # 回车后输入刚才设置的密码进入数据库
>>> create database your_database_name default character set utf8 collate utf8_general_ci;  # 创建数据库并设置默认编码为utf8
三、配置项目

1、配置 nginx

vim /etc/nginx/sites-available/default

# 将以下代码写入文件中
server {
    listen 80;
    server_name coderlx.com www.coderlx.com;  # 这些地方换成你自己的域名
    return 301 https://www.coderlx.com$request_uri;  # 将访问重定向www.coderlx.com
}

server {
    root /var/www/html;

    # 这里为配置 https 协议添加的配置,可以先忽略,https 转发可看我的另一篇文章
    listen 443 ssl default_server;
    server_name coderlx.com;  #换成你自己的域名
    ssl on;
    ssl_certificate /etc/letsencrypt/live/coderlx.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/coderlx.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    # 这里为配置 https 协议添加的配置,可以先忽略,https 转发可看我的另一篇文章

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

    # 这个地方是重点需要注意 (照以下写法后端静态文件缺失,前端正常,收集后端静态文件请看我另一篇文章)
    location /static {
        alias /home/MyBlog/blog_config/static;  # 你的静态文件夹地址
        # alias /home/MyBlog/blog_config/nginx/static;
    }
}

2、配置uwsgi
  2.1、在 Django 根目录下创建 uwsgi.ini 和 run.log

vim /home/MyBlog/uwsgi.ini

#  可以先去看下我的项目结构,有助于理解
[uwsgi]
chdir = /home/MyBlog/
module = blog_config.wsgi:application
socket = 127.0.0.1:8000
master = true
daemonize = /home/MyBlog/run.log
disable-logging = true
pidfile = /home/MyBlog/uwsgi.pid
四、启动程序
cd /home/MyBlog

service nginx stop
pkill -f uwsgi -9

service nginx start
uwsgi --ini uwsgi.ini

最后,部署成功,访问你的域名即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值