Ubuntu16.04配置Django服务器环境
发布日期:2021-05-13 01:00:17 浏览次数:12 分类:博客文章

本文共 3307 字,大约阅读时间需要 11 分钟。

本环境是使用Ubuntu16.04+Django2.1.0+python3.6+uwsgi+nginx进行配置

1. 安装python3.6

Ubuntu16.04中原本安装的是python3.5,但是我们运行环境使用python3.6比较好,有的库3.5是用不了的,安装过程如下:

首先安装python3.6,在terminal中输入

sudo apt-get install software-properties-commonsudo add-apt-repository ppa:jonathonf/python-3.6 #如果这个访问不了的话就换成这个 sudo add-apt-repository ppa:fkrull/deadsnakessudo apt-get update sudo apt-get install python3.6

现在在命令行中输入python3得到的python版本仍然是python3.5,所以我们需要一处原来的快捷方式

cd /usr/binrm python3

然后再创建快捷方式

ln -s python3.6 python3

输入python3可以得到我们想要的结果

![屏幕快照 2019-06-25 上午9.58.20]( 2019-06-25 上午9.58.20.png?raw=true)

然后在terminal中输入如下命令安装pip3即可

apt-get install python3-pip

pip3 install django==2.1.0

2. 安装git

因为我们需要完成网站代码版本管理,也是为了能够比较方便地更新服务器代码,所以我们在服务器上安装git

首先在terminal中直接输入

sudo apt-get install git

安装好之后需要设置邮箱和用户名

git config --global user.name "Your Name"git config --global user.email "email@example.com"

如果你的项目是私有项目的话还需要生成SSH公钥,具体请点击查看教程。

3. 安装MySQL

我们后端的数据库使用的是mysql,在ubuntu上安装比较简单,只需要几条命令即可。

sudo apt-get install mysql-serverapt-get install mysql-clientsudo apt-get install libmysqlclient-dev

现在在terminal中输入mysql可以直接进入mysql,接下来我们要设置密码,首先进入进入mysql,然后输入如下代码

use mysql;update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行flush privileges; #更新所有操作权限exit

现在在terminal中输入

mysql -u root -p

然后输入你刚刚设置的密码即可登录进数据库,加下来我们要配置允许数据库进行远程连接,方便我们进行调试

mysql -u root -pGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;FLUSH PRIVILEGES;sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf //注释掉bind-address = 127.0.0.1service mysql restart

现在你就可以远程连接数据库了。(记得打开服务器3306安全组)

4. 安装uwsgi

直接pip3安装就可以

sudo apt-get install python3.6-dev # 因为我们之前安装的是python3.6,所以这里安装python3.6-devpip3 install uwsgi

接下来测试uwsgi是否能使用,实现使用git将你的项目clone到home文件夹中,然后在terminal中执行如下命令

uwsgi --chdir 你的项目路径 --http :8001 --module 你的项目名称.wsgi:application

这时候打开 你的IP:8001,如果打不开,请开放8001安全组,接下来再打开网页的话应该是可以正常访问的

5.安装node

如果项目前端使用的是vue,还要安装nodejs

sudo apt-get install nodejssudo apt-get install python3.6-gdbm # 与你装的python版本相同sudo apt install nodejs-legacysudo apt-get install npmnpm config set registry http://registry.npm.taobao.org/npm install -g @vue/cli

6. 安装nginx

sudo apt-get install -y python3.6-devapt install nginx

等待一会就可以安装完毕,安装完成之后执行如下命令

cd /etc/nginx/sites-enabled/sudo rm defaultcd ..cd sites-available/vim mysite.conf

在打开的文件中输入如下内容

server {    listen 443;    server_name mysite;    charset utf-8;    client_max_body_size 75M;    location /static {        alias /home/你的项目名称/static;    }    location /media {        alias /home/你的项目名称/media;    }        location / {        uwsgi_pass  127.0.0.1:8001;        include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed    }}

然后再继续输入命令:

cd /homemkdir mysite_uwsgicd mysite_uwsgivim mysite.ini

在打开的文件中输入如下内容

[uwsgi]chdir = /home/你的项目名称module = 你的项目名称.wsgi:applicationmaster=Trueprocesses = 4harakiri = 60max-requests = 5000socket = 127.0.0.1:8001uid = 1000gid = 2000pidfile = /home/mysite_uwsgi/master.piddeamonize=/home/mysite_uwsgi/mysite.logvacuum=True

这个时候启动uwsgi,输入

uwsgi --ini /home/mysite_uwsgi/mysite.ini

运行成功之后再输入

ps -aux | grep uwsgi

若进程显示如图所示,则表示配置成功

再执行如下命令

ln -s /etc/nginx/sites-available/mysite.conf  /etc/nginx/sites-enabled/mysite.confservice nginx restart

这个时候访问你的ip应该就能正常访问了

上一篇:Django ORM操作
下一篇:Number() 与 parseInt()解析

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月29日 12时50分56秒