前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3+django2 开发易语言网络验证(下)

python3+django2 开发易语言网络验证(下)

作者头像
玩蛇的胖纸
发布2018-07-05 17:10:44
7580
发布2018-07-05 17:10:44
举报

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

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

前期准备:

项目名:netauth

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

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

   Navicat(用于上传数据库)

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

代码语言:javascript
复制
apt install unzip
unzip netauth.zip
rm netauth.zip

1.安装MySQL数据库

1.安装mysql

代码语言:javascript
复制
apt-get install mysql-server -y
#设置密码:(不显示)
apt-get install mysql-client
apt-get install libmysqlclient-dev -y

2.配置远程连接权限

代码语言:javascript
复制
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,注释掉 bind-address = 127.0.0.1
#英文输入环境下,敲Esc键,输入:wq 保存退出
代码语言:javascript
复制
mysql -u root -p
#输入密码(不显示),登录mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

quit

3.远程连接数据库

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

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

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

2.安装python3.6

代码语言:javascript
复制
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.安装和进入虚拟环境

代码语言:javascript
复制
python3.6 -m venv env36
#在当前目录下,创建一个python3.6的虚拟环境,取名为env36,目前自带虚拟环境只支持到3.6.2

. env36/bin/activate
#进入虚拟环境
#退出虚拟环境 deactivate

 2.配置虚拟环境

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

 3.修改settings.py

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

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

代码语言:javascript
复制
cd ..
python manage.py runserver 0.0.0.0:8000 
#浏览器访问:公网ip+8000 
#发现啥都有啦!

4.虚拟环境中安装uwsgi

1.安装

代码语言:javascript
复制
cd ~
pip3 install uwsgi

2.检测是否安装成功

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

5.安装配置nginx

1.安装nginx

代码语言:javascript
复制
cd ..
apt install nginx -y

2.配置uwsgi与nginx连接

代码语言:javascript
复制
#在项目目录下执行,注意后面这个点儿别落下
cd netauth
cp /etc/nginx/uwsgi_params .
#回到~目录下
cd ..

3.配置uwsgi.ini

代码语言:javascript
复制
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

代码语言:javascript
复制
#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.建立软链接

代码语言:javascript
复制
sudo ln -s /root/netauth/netauth_nginx.conf /etc/nginx/sites-enabled/

6.收集静态文件

代码语言:javascript
复制
#cd 到项目目录下执行
python manage.py collectstatic
#yes

6.最后测试

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第六步:网络验证服务器端项目上线部署
    • 前期准备:
      • 项目名:netauth
        • 系统:百度云服务器下的Ubuntu16.4
          • 软件:xshell(无论如何想办法用这个跟服务器实例连上,不要用远程连接干敲,不然你会有砸电脑的冲动)
            •    Navicat(用于上传数据库)
              •    FileZille(通过这个软件,将项目的zip包传到服务器系统下)  
                • 1.安装MySQL数据库
                  • 1.安装mysql
                  • 2.配置远程连接权限
                  • 3.远程连接数据库
                  • 4.上传完了,别忘了把远程连接权限关了
                • 2.安装python3.6
                  • 3.配置虚拟环境
                    • 1.安装和进入虚拟环境
                    •  2.配置虚拟环境
                    •  3.修改settings.py
                    • 4.测试一下项目能否运行
                  • 4.虚拟环境中安装uwsgi
                    • 1.安装
                    • 2.检测是否安装成功
                  • 5.安装配置nginx
                    • 1.安装nginx
                    • 2.配置uwsgi与nginx连接
                    • 3.配置uwsgi.ini
                    • 4.配置nginx
                    • 5.建立软链接
                    • 6.收集静态文件
                  • 6.最后测试
                  相关产品与服务
                  云数据库 MySQL
                  腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档