<
开启Django之旅一
>
上一篇

django_vue寻找最佳web搭档
下一篇

小程序审核注意点

从零开始撸Django——第一篇

​ 由于公司的后端用的是python,他一步一步的“侵蚀”了我。这踏马的也太牛了。。。所以,面临毕业设计的我果断选择了用 python 代替了 nodejs 作为我的小项目的后端语言了。

​ 要撸起来,得先把环境搭搭好。

一、python3.6环境的搭建

​ 在这里,我将项目源码放在服务器(腾讯云——Ubuntu)上,代码的编写为 win10——pyCharm 环境。所以,python的安装需要在本机win10服务器Ubuntu上分别搭建python。

关于win10:

​ 在python官网下载并安装python3.6,记得将 python 加到系统 path。并注意安装 pip

戳我下载:https://www.python.org/downloads/

关于Ubuntu:

​ 由于Ubuntu18.04自带python3.6,所以这里只需要安装 pip

​ 输入下方的命令:

sudo apt install python3-pip

二、安装python虚拟机

​ 接下来在服务器上安装 python 虚拟机。关于python虚拟机:

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

​ 安装好之后,在 root 文件夹创建一个私有文件夹

cd /root
mkdir .virtualenvs

​ 创建好文件夹之后,将下方代码填到root目录下的 .bashrc 文件的最底部。

vim .bashrc #vim进入文件,下方为需要插入的代码

export WORKON_HOME=/root/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 
source /usr/local/bin/virtualenvwrapper.sh

三、nginx的安装

​ 在服务器上安装 nginx

sudo apt install nginx

​ nginx安装好之后就会在 /var 文件夹之下创建一个 www 文件夹,如果没有就去看看其他的文件夹下有没有这个www ,比如说 /usr/share/nginx 里看看。这个文件夹就作为了我们项目放置的文件跟目录。

四、本地项目的创建以及与服务器之间的上传与更新问题

使用 pyCharm 创建一个django 项目。

1

​ 注意命名,以及添加一个app

​ 在创建中, pycharm 会帮你弄好一个干净的 python 虚拟环境,以及干净的 django 代码。

导出项目的依赖库

使用 pip freeze 导出依赖库配置文件:

pip freeze > requirements.txt

# 这种方式推荐配合 virtualenv ,否则会把整个环境中的包都列出来。

1

​ 这个文件有着在服务器上搭建和本机相同环境的作用。

配置 pycharm 的代码自动上传

1

​ 在上图 configuration 中进行服务器的相关配置。

1

1

​ 将本地目录与服务器目录进行映射。

1

​ 保存配置后,回到 tools 里将 Automatic Upload 打勾。这样就做到每一次保存代码,便会将文件上传至服务器的相对应目录当中。

​ 配置好之后的第一次需手动上传代码到服务器上。

​ 在 IDE 目录列表里,选中文件或文件夹,按键盘 ctrl + shift + alt + x ,出现下图服务器列表。

1

​ 点击 first 这个服务器名就好了。

需要注意的地方:

venv library root 这个文件夹不需要上传。其他都上传。

五、开启服务器上的虚拟环境

mkvirtualenv -a /var/www/firstdjango --python=python3.6 firstdjango
# 注意python版本 和 项目文件夹名

六、让项目跑起来。。。

cd /var/www/firstdjango
pip install -r requirements.txt  # 安装项目依赖
chmod a+x ./manage.py   # 给 manager.py 权限
./manage.py runserver   # 让项目跑起来。。。
# 最后run的时候可能会报错,有可能是换行符的问题,在 pycharm 右下角修改给换行符为 '/n' 就好了

​ 此时,访问 http://你的域名:8000 看到小火箭在飞的话,那么你已经完成基础配置了,nice!!!

1


七、项目起来了,外带一个 nginx 的配置

在本地项目中新建文件,nginx.conf

1

nginx.conf 输入以下代码:

server {
    listen 80;
    root /var/www/firstdjango;
    # Add index.php to the list if you are using PHP
    index index.html index.htm ;
    server_name www.abc.com;
    location / {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS,PATCH,PUT';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
        proxy_set_header HTTP_X_FORWARDED_PROTO https;
        proxy_pass http://127.0.0.1:8000;
        client_max_body_size 2m;
        include proxy_params;
    }
}

保存上传文件至服务器。

回到服务器上,进行一些骚操作。

ln -s /var/www/firstdjango/firstdjango/nginx.conf /etc/nginx/sites-enabled/firstdjango

软链接,将项目中的 nginx.conf 与 服务器 nginx 做关联。

tail /var/log/nginx/error.log   # 监控错误日志
systemctl reload nginx    # 重启 nginx 服务

​ okok,第一次的django搭建,在大神的指点下完成。本来是想在 win10 ubuntu的子系统里搭的,再搭配 ngrok 把服务器代理到本地,然后美滋滋开发,后来发现,win10 的 ubuntu 算是个阉割版的吧,好多东西都跑不起来。可能是我垃圾吧。。。。哈哈哈哈哈。。。。

​ 反正服务器空着也是空着,折腾起来。。。


​ 我擦,最后的最后,这应该放前面的,Ubuntu开启root登陆。

sudo vim /etc/ssh/sshd_config

Port 22
#AddressFamily any
AddressFamily inet
ListenAddress 0.0.0.0
#ListenAddress ::

PermitRootLogin yes

sudo service ssh restart

​ 愉快玩耍。。。

Top
Foot