宝塔面板设置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项目管理器中添加项目,具体配置如下:

注:下图有误,框架应选django,因为是后截图所以出现了失误

 上传时连带着生成的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通信正常运行!

今天又遇到了一个问题,之前在window环境中文件上传的接口,现在不能用了。经检查发现window中写的路径是用"\\"分隔

 现在换成了linux系统 ,需要将路径写法的“\\”改为一个正斜杠"/"即可。

另外还需要在宝塔中将该文件夹的权限修改一下

2023.3.20日,今天在新的服务器上搭建环境,在启动django项目时时出现了如下错误:

AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'

经过对比发现,cryptography模块在新服务器上的版本是39.0.2,降低版本到36.0.2后错误排除

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!对于在CentOS系统上安装宝塔面板、PyCharm、DjangoMySQL和微信程序后台的问题,我可以为您供一些基本的指导。 首先,您可以按照以下步骤在CentOS上安装宝塔面板: 1. 使用root用户登录您的CentOS服务器。 2. 执行以下命令来下载并安装宝塔面板: ``` yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` 3. 安装过程中会要求您设置宝塔面板的登录密码,按照提示进行设置即可。 4. 安装完成后,您可以通过在浏览器中访问服务器的IP地址或域名来登录宝塔面板。 接下来,如果您想在PyCharm中使用Django进行开发,可以按照以下步骤进行设置: 1. 在PyCharm中创建一个新的Python项目。 2. 在项目中安装Django,在终端中执行以下命令: ``` pip install django ``` 3. 创建一个Django应用,在终端中执行以下命令: ``` django-admin startproject myproject ``` 4. 在PyCharm中设置Django运行配置,选择正确的Python解释器并设置运行的Django模块。 关于MySQL,您可以通过以下步骤在宝塔面板安装和配置MySQL: 1. 登录宝塔面板,进入软件商店。 2. 在软件商店中找到MySQL,并点击安装。按照提示进行安装设置MySQL的登录密码。 3. 安装完成后,您可以在宝塔面板的数据库管理中管理MySQL数据库。 最后,关于微信小程序后台的设置,您需要在Django项目中编写相应的API接口来处理微信小程序的请求。您可以参考微信小程序官方文档来了解如何使用Django开发后台接口。 希望以上信息对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haichao0991

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值