IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 宝塔面板设置django纯接口和channel及mysql遇到的一些问题记录 -> 正文阅读

[Python知识库]宝塔面板设置django纯接口和channel及mysql遇到的一些问题记录

项目是前后台完全分离,前台地址为 http://域名:80端口,后台api接口地址为:http://域名:7001,websocket通讯接口为:ws://域名:7002

一,数据库导入

新建完数据库并导入数据后,发现远程navicat无法连接,提示Lost connection to MySQL server at reading initial communication packet

解决:在数据库权限中设置所有人可以访问(仅须远程navicat连接测试时,以后可以再把权限收窄)

二,如何添加python的django项目?

方法:使用宝塔的python项目管理器

?注意:宝塔只支持在centOS7+使用,原本想用ubuntu,也只能转为centos了,不过区别也不大。

坑点:一定不要选择2.0版本,选择1.9版。我之前装了2.0以为新的版本功能一定更强大,结果装完后发现没有pvenv命令,该命令是宝搭面板在安装了python项目管理器后配置python环境的,提供了很多方便的指令

安装后点设置,由于我开发的版本较高,centos中自带的python2.*不行,(主要是channel中需要有3.4版本以上才支持的async等新语法)所以需要先安装python3.*以上的版本,这里我安装的j是3.8.3版本

从宝塔面板进入到终端,现在可以使用pyenv命令了,使用pyenv versions查看当前由python项目管理器安装的python所有版本,使用pyenv shell 版本号 命令修改默认python版本,如图

?之前开始daphne服务时,总是提示有语法错误,观察错误提示发现是不认识async关键字,所以必须要在python3.4+环境下启动daphne,所以以上设置对我来讲必不可少。

剩下的内容先上传好python项目的全部内容,我是通过宝塔面板安装ftp后上传的,没有使用宝塔的文件管理?。上传后在python项目管理器中添加项目,具体配置如下:

?上传时连带着生成的requuirements.txt,并勾选上安装依赖,即可自动配置虚拟环境和启动,此时在项目显示正在运行中,则表示已经成功了,否则可以查看日志或进到虚拟环境(进到虚拟环境的方法看图所示)启动查看错误提示。

然后我又通过xshell远程开启了daphne服务

?三、配置网站

虽然项目有默认的80端口做前端网站,7001端口做webAPI服务器,7002端口做websocket的接收转发服务(转发到daphne即127.0.0.1:7003),而daphne服务运行在7003端口,但是只需要配置一个网站即可(我原本想分开创建,不过尝试后发现好像对于一个域名只能创建一个网站)

?在配置文件中,我将默认的80配置为前台网站路径,7002进行代理转发,而7001端口由phython项目管理已经可以访问(这里有点疑问,在python项目管理中我没有指定域名,只是指定了端口,但是前台的确可以通过域名:7001进行访问),具体内容如下:

server
{
    listen 80;
    server_name www.youhostname.cn;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/ftpFrontUser/platform/platform/frontEnd/EXP_platform/myserver;

    include enable-php-00.conf;

    include /www/server/panel/vhost/rewrite/www.youhostname.cn.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }
    access_log  /www/wwwlogs/www.youhostname.cn.log;
    error_log  /www/wwwlogs/www.youhostname.cn.error.log;
}

server {
        listen       7002;
        server_name  www.youhostname.cn;

          location /ws{#ws
            proxy_http_version 1.1;
            proxy_set_header Host  $host;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Nginx-Proxy true;
            proxy_redirect off;
            client_max_body_size 10m;
            proxy_pass http://127.0.0.1:7003;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_connect_timeout 300s;
            proxy_read_timeout 300s;
            proxy_send_timeout 300s; 
       }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    
    }

此时启动前端页面,可以发现接口可以访问,前后端已经打通。但是websocket通信还不能使用。下面启动daphne服务:

daphne -p 7003 项目名.asgi:application

但是当ssh远程连接窗口关闭后,这个服务就自动停止了,所以这里使用nohup命令

nohup daphne -p 7003 项目名.asgi:application > /dev/null 2> /dev/null &

关掉ssh窗口,websocket通信正常运行!?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:32:27  更:2022-04-22 18:36:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:58:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码