第六步:网络验证服务器端项目上线部署

功夫不负有心人,终于部署成功啦!

前期准备:

项目名:netauth

系统:百度云服务器下的Ubuntu16.4

软件:xshell(无论如何想办法用这个跟服务器实例连上,不要用远程连接干敲,不然你会有砸电脑的冲动)

   Navicat(用于上传数据库)

   FileZille(通过这个软件,将项目的zip包传到服务器系统下)  

apt install unzip
unzip netauth.zip
rm netauth.zip

1.安装MySQL数据库

1.安装mysql

apt-get install mysql-server -y
#设置密码:(不显示)
apt-get install mysql-client
apt-get install libmysqlclient-dev -y

2.配置远程连接权限

vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,注释掉 bind-address = 127.0.0.1
#英文输入环境下,敲Esc键,输入:wq 保存退出
mysql -u root -p
#输入密码(不显示),登录mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; flush privileges; quit

3.远程连接数据库

#用Navicat链接服务器数据库,如果报错:
fuser -k 3306/tcp
#将客户端数据库通过数据传输,传输到服务器
#看一下数据库传上来了没
mysql -u root -p
show databases;
quit

4.上传完了,别忘了把远程连接权限关了

vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,去掉 bind-address = 127.0.0.1这行的注释
#英文输入环境下,敲Esc键,输入:wq 保存退出

2.安装python3.6

add-apt-repository ppa:fkrull/deadsnakes
#回车
apt-get install python-software-properties -y
apt-get update
apt-get install python3.6-dev python3.6-venv -y apt install python-pip -y

3.配置虚拟环境

1.安装和进入虚拟环境

python3.6 -m venv env36
#在当前目录下,创建一个python3.6的虚拟环境,取名为env36,目前自带虚拟环境只支持到3.6.2 . env36/bin/activate
#进入虚拟环境
#退出虚拟环境 deactivate

2.配置虚拟环境

cd netauth
pip3 install -r requirments.txt
#安装相关依赖包,其中requirments.txt,是在客户端时,通过pip freeze > requirments.txt获得
#这个过程也许需要多等一会,比较low一点的云服务就慢一些,亲身体验,bat里,百度的最慢

3.修改settings.py

cd netauth
vim settings.py
#进入settings.py文件中,点击i键,变为编辑模式
#通过上下左右键移动光标
ALLOWED_HOSTS = ['公网ip']
#在最底追加
STATIC_ROOT=os.path.join(BASE_DIR,"/static/")
#然后敲Esc键,输入:wq 保存退出

4.测试一下项目能否运行

cd ..
python manage.py runserver 0.0.0.0:8000
#浏览器访问:公网ip+8000
#发现啥都有啦!

4.虚拟环境中安装uwsgi

1.安装

cd ~
pip3 install uwsgi

2.检测是否安装成功

cd netauth
uwsgi --http :8000 --module netauth.wsgi
#通过uwsgi启动项目,这一步必须在项目目录下操作执行
#ctrl+C键关闭项目服务状态
#fuser -k 8000/tcp
#关闭8000端口占用

5.安装配置nginx

1.安装nginx

cd ..
apt install nginx -y

2.配置uwsgi与nginx连接

#在项目目录下执行,注意后面这个点儿别落下
cd netauth
cp /etc/nginx/uwsgi_params .
#回到~目录下
cd ..

3.配置uwsgi.ini

vim uwsgi.ini
#进入uwsgi.ini,然后在英文输入下敲i键,进入插入模式,将以下内容填充进去(通过敲i键进入插入模式这一步不能省略,不然粘贴进去的内容会部分丢失)
[uwsgi]
chdir=/root/netauth
module=netauth.wsgi:application
home=/root/env36
master=true
processes=10
socket=:8001
chmod-socket = 666
vacuum=true
#然后在英文输入下,Esc键,然后输入冒号wq+回车,保存退出。

4.配置nginx

#cd 到项目目录下
vim netauth_nginx.conf
#新建进入了nginx.conf文件
#在英文输入法下,敲i键,进入可插入模式
#粘贴以下内容
# mysite_nginx.conf # the upstream component nginx needs to connect to
upstream django {
# server unix:/root/netauth/netauth.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
} # configuration of the server
server {
# the port your site will be served on
listen 8000;
# the domain name it will serve for
server_name .example.com; # substitute your machine's IP address or FQDN
charset utf-8; # max upload size
client_max_body_size 75M; # adjust to taste # Django media
location /media {
alias /root/netauth/media; # your Django project's media files - amend as required
} location /static {
alias /root/netauth/static; # your Django project's static files - amend as required
} # Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /root/netauth/uwsgi_params; # the uwsgi_params file you installed
}
}

5.建立软链接

sudo ln -s /root/netauth/netauth_nginx.conf /etc/nginx/sites-enabled/

6.收集静态文件

#cd 到项目目录下执行
python manage.py collectstatic
#yes

6.最后测试

#修改settings.py中
DEBUG = False
cd ~
service nginx restart
#重启nginx
#启动uwsgi
uwsgi --ini uwsgi.ini
#浏览器访问http://180.76.143.11:8000

python3+django2 开发易语言网络验证(下)的更多相关文章

  1. python3+django2 开发易语言网络验证(中)

    第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...

  2. python3+django2 开发易语言网络验证(上)

    创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原 ...

  3. 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败

    今天下午搞易语言,在编写动态链接库以后,静态编译的时候出现以下提示: 无法定位链接器!请检查 tools\link.ini 中的配置是否正确. 静态连接失败 于是网上百度了下,找到相关的解决方法: 编 ...

  4. 用c++ 给易语言写支持库学习记录

    废话我就不对说 直接开始 易语言官方下载的易语言安装路径下 有一个SDK文件夹 我们点进入cpp文件夹里面提供是c++的SDK elib文件夹里就是sdk 我们新建一个win32项目 这里我用的是VS ...

  5. 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面

    PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...

  6. Windows2003/2008/2008 R2下易语言点支持库配置就退出的问题

    问题: 请问一个问题,我的电脑上win2003系统的,安装了易语言后,一点支持库配置就会自动退出.这是为什么啊? 解决方法如下: 删除 lib下的wmp.npk,重新打开易语言就可以了.

  7. 在VS2010下开发C语言程序

    妈蛋,我发现VS下开发C语言,并不是把文件名改成.C的就行了.VS2010不支持C99.  也就是函数局部变量声明必须放在函数的开头.难怪,我从Linux下移植过来的.c工程怎么是编译错误呢,发现是变 ...

  8. 在Linux下开发多语言软件(gettext解决方案)

    最近的项目出现了一个bug.项目是基于一个已有的成熟开源软件之上做修改的,新写了加解密库,用于为该成熟开源软件增添加解密功能.功能增加完成后效果都很好,可是就是中文出不来了,也就是说没办法自适应多语言 ...

  9. 13. Go 语言网络爬虫

    Go 语言网络爬虫 本章将完整地展示一个应用程序的设计.编写和简单试用的全过程,从而把前面讲到的所有 Go 知识贯穿起来.在这个过程中,加深对这些知识的记忆和理解,以及再次说明怎样把它们用到实处.由本 ...

随机推荐

  1. Unable to handle kernel paging request at virtual address

    1.Unable to handle kernel paging request at virtual address 00000000 =====>越出内核地址空间范围,原因是由于使用空NUL ...

  2. python学习笔记(11)--测验3: Python基础语法(下) (第7周)

    斐波那契数列计算 B 描述 斐波那契数列如下: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) 编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波 ...

  3. RocketMQ消息队列安装

    一.官方安装文档 http://rocketmq.apache.org/docs/quick-start/ 下载地址 https://github.com/apache/rocketmq/releas ...

  4. 魔术方法:__set、__get

    __set: 在设置对象里边不能直接设置(或没有)的属性值的时候,自动去被调用 class Track { private $track_name; public function __set($na ...

  5. linux下ssh无法连接的原因

    在虚拟机上安装了ubuntu16.04 server,用本机 ssh 连接的时候 无法连接上: 忽然想起在安装的时候有个openssh好像没有勾选,所以在虚拟机上 apt install openss ...

  6. WebStorm开发React项目,修代码之后运行的项目不更新

    昨天遇到一个恶心的问题,我新建了一个React.js项目,想做一点关于Pc端的开发,习惯性的用了WebStorm,可是发现一个问题,就是代码修改之后,浏览器上根本不会刷新.然后,我把方向定位在没有正确 ...

  7. python字符编码与文件打开

    一 字符编码 储备知识点: 1.计算机系统分为三层: 应用程序 操作系统 计算机硬件 2.运行Python程序的三个步骤 1.先启动python解释器 2.再将python文件当做普通的文本文件读入内 ...

  8. Codeforces1101F Trucks and Cities 【滑动窗口】【区间DP】

    题目分析: 2500的题目为什么我想了这么久... 考虑答案是什么.对于一辆从$s$到$t$的车,它有$k$次加油的机会.可以发现实际上是将$s$到$t$的路径以城市为端点最多划分为最大长度最小的$k ...

  9. 【XSY2719】prime 莫比乌斯反演

    题目描述 设\(f(i)\)为\(i\)的不同的质因子个数,求\(\sum_{i=1}^n2^{f(i)}\) \(n\leq{10}^{12}\) 题解 考虑\(2^{f(i)}\)的意义:有\(f ...

  10. Ionic3的http请求如何实现token验证,并且超时返回登录页

    要求 后台提供的接口,不能让人随便输入个链接就能访问,而是要加入一个token,token是动态的,每次访问的时候判断,有权限并且未过期的时候才可以访问接口. 后台的设计是 在登录的时候,首先要pos ...