本环境是使用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-common
sudo add-apt-repository ppa:jonathonf/python-3.6 #如果这个访问不了的话就换成这个 sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.6

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

cd /usr/bin
rm python3

然后再创建快捷方式

ln -s python3.6 python3

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

![屏幕快照 2019-06-25 上午9.58.20](https://github.com/lcs1998/lcs1998.github.io/blob/master/img/屏幕快照 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-server
apt-get install mysql-client
sudo 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 -p

GRANT 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.1

service mysql restart

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

4. 安装uwsgi

直接pip3安装就可以

sudo apt-get install python3.6-dev # 因为我们之前安装的是python3.6,所以这里安装python3.6-dev
pip3 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 nodejs
sudo apt-get install python3.6-gdbm # 与你装的python版本相同
sudo apt install nodejs-legacy
sudo apt-get install npm
npm config set registry http://registry.npm.taobao.org/
npm install -g @vue/cli

6. 安装nginx

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

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

cd /etc/nginx/sites-enabled/
sudo rm default
cd ..
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 /home
mkdir mysite_uwsgi
cd mysite_uwsgi
vim mysite.ini

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

[uwsgi]
chdir = /home/你的项目名称
module = 你的项目名称.wsgi:application master=True
processes = 4
harakiri = 60
max-requests = 5000 socket = 127.0.0.1:8001
uid = 1000
gid = 2000 pidfile = /home/mysite_uwsgi/master.pid
deamonize=/home/mysite_uwsgi/mysite.log
vacuum=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.conf
service nginx restart

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

Ubuntu16.04配置Django服务器环境的更多相关文章

  1. 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境

    本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境   Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...

  2. ubuntu16.04 配置opensips服务器并编译pjsip测试

    一.版本相关 1) ubuntu版本: 16.04 2) opensips版本:2.1.2 3) pjsip版本 :2.5.5 4) ffmpeg版本:3.3.4 5) sdl版本:2.0 6) vs ...

  3. Ubuntu16.04配置Android SDK环境

    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(注意32位与64位,我 ...

  4. (二十四)Ubuntu16.04配置ADB调试环境

    一.安装adb 1.可以通过 apt-get install android-tools-adb 来安装adb sudo add-apt-repository ppa:nilarimogard/web ...

  5. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

  6. Ubuntu16.04安装后开发环境配置和常用软件安装

    Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...

  7. ubuntu16.04配置java环境(重启后不会失效)

    ubuntu16.04配置java环境(重启后不会失效) 1.jdk的安装包(.tar.gz)拷贝到/opt目录下 mv jdk-8u144-linux-x64.tar.gz /opt 2.解压文件 ...

  8. Ubuntu16.04搭建LAMP开发环境

    Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...

  9. Ubuntu16.04配置apache+php+mysql

    命令行配置apache input sudo apt-get install apache2 done! 命令行配置mysql 参见: MySQL install and setting 命令行配置p ...

随机推荐

  1. WIN8安装oracle11g时出现不满足最低配置解决办法

    Windows8上面安装Oracle11g客户端和服务端时都会出现这样的错误提示:[INS-13001]环境不满足最低要求 产生这种报错的主要原因在于:oracle 11g的配置文件中并没有提供匹配w ...

  2. Docker+ Kubernetes已成为云计算的主流(二十五)

    前言 最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享.对于k8s,还是上云更为简单.稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地应用于生产 ...

  3. kali 源文件 更改和使用 更新日期:2018.04.21

    我的公众号,正在建设中,欢迎关注: 0x01 源文件格式: kali下常用的更新命令有: apt-get install update和apt-get install upgrade,update是下 ...

  4. js杂记:x:function(){}

    发现问题于jQuery源码,整理问题于百度知道: 如下: x:function(){} 这代表一个对象的函数 例如: var ooo = { p1:0, p2:'xxx', f1:function(p ...

  5. javaweb中Servlet配置到Tomcat

    1.tomcat容器来运行Servlet程序 在javase中,都是在控制台中运行java代码,而且提供了一个main方法,代码运行的入口.在javaee中,想要运行java代码,不是通过控制台程序来 ...

  6. 统一资源定位符URL

    Uniform Resource Locate--URL 用途:通过URL访问web网页:通过URL使用其它的Internet应用程序,例如FTP,Telnet(远程登录服务):对应IE浏览器窗口中的 ...

  7. oralce中的dual详解 转 http://blog.sina.com.cn/s/blog_a5a24bcb0100zeay.html

    dual是属于sys的只有一个X varchar2(1)列查询虚拟列不会产生逻辑IO========================================================== ...

  8. 面试中常见的算法之Java中的递归

    1.方法定义中调用方法本身的现象2.递归注意实现 1) 要有出口,否则就是死递归 2) 次数不能太多,否则就内存溢出 3) 构造方法不能递归使用3.递归解决问题的思想和图解: 分解和合并[先分解后合并 ...

  9. 获取浏览器ip地址

    <script src="http://lib.sinaapp.com/js/jquery/1.8.3/jquery.min.js"></script> & ...

  10. Minimum Spanning Tree

    前言 说到最小生成树(Minimum Spanning Tree),首先要对以下的图论概念有所了解. 图 图(Graph)是表示物件与物件之间的关系的数学对象,是图论的基本研究对象.图的定义方式有两种 ...