littlebot
Published on 2025-04-07 / 3 Visits
0

【源码】基于 Flask 和 SocketIO 的极客晨星课程记录网站

项目简介

本项目是基于 Flask 和 SocketIO 构建的极客晨星课程记录网站。Flask 是轻量级 Python Web 框架,SocketIO 用于实现实时双向通讯。该网站可实现实时数据传输和交互,方便用户记录和查看极客晨星相关课程信息。

项目的主要特性和功能

  1. 支持用户在网页端进行实时聊天,消息即时传输。
  2. 服务器可响应客户端触发的事件,并实时反馈。
  3. 借助 SocketIO 实现前后端双向数据传输。
  4. 可展示极客晨星相关课程的记录信息。

安装使用步骤

前提条件

  1. 拥有腾讯云服务器,操作系统为 Ubuntu Server 18.04.1 LTS 64bit。
  2. 在腾讯云控制台添加 TCP 所有端口或者需要开放端口的访问权。
  3. 修改文件 /etc/ssh/sshd_config
    • 注释掉 PermitRootLogin prohibit-password 这行。
    • 新建一行添加 PermitRootLogin yes
    • 重启服务:sudo service ssh restart
    • PasswordAuthentication no 修改为 PasswordAuthentication yes
    • 重启 ssh 服务:service sshd restart
  4. 使用 Python 3.x 版本。
  5. 通过 pip 安装 Flask 和 SocketIO 模块。

使用步骤

  1. 添加 Nginx 库到 apt-get source 中:sudo add-apt-repository ppa:nginx/stable
  2. 安装前提软件:
    • sudo apt-get install python-setuptools
    • wget https://bootstrap.pypa.io/ez_setup.py -O - | python
    • sudo easy_install pip==20.2.4
    • sudo pip install virtualenv
  3. 升级已有的包,安装 uWSGI 所需的编译器和工具:
    • sudo apt-get update && sudo apt-get upgrade
    • sudo apt-get install build-essential python python-dev
  4. 安装并运行 Nginx:
    • sudo apt-get install nginx
    • sudo /etc/init.d/nginx start
  5. 安装 uWSGI:sudo pip install uwsgi
  6. 创建应用文件夹并初始化虚拟环境:
    • sudo mkdir /var/www/demoapp
    • sudo chown -R ubuntu:ubuntu /var/www/demoapp/
    • cd /var/www/demoapp
    • virtualenv venv
    • . venv/bin/activate
    • pip install flask
  7. 执行脚本:python swbApp.py,可通过浏览器访问服务器的 5000 端口查看应用。
  8. 配置 Nginx:

    • 删除 Nginx 的默认配置文件:sudo rm /etc/nginx/sites-enabled/default
    • 创建新配置文件 /var/www/demoapp/demoapp_nginx.conf: ``` server { listen 80; server_name localhost; charset utf-8; client_max_body_size 75M;

    location / { try_files $uri @yourapplication; } location @yourapplication { include uwsgi_params; uwsgi_pass unix:/var/www/demoapp/demoapp_uwsgi.sock; } } - 将配置文件符号链接到 Nginx 配置文件文件夹中并重启 Nginx: sudo ln -s /var/www/demoapp/demoapp_nginx.conf /etc/nginx/conf.d/ sudo /etc/init.d/nginx restart 9. 配置 uWSGI: - 创建新的 uWSGI 配置文件 `/var/www/demoapp/demoapp_uwsgi.ini`:ini [uwsgi]

    application's base folder

    base = /var/www/demoapp

python module to import

app = app module = %(app)

home = %(base)/venv pythonpath = %(base)

socket file's location

socket = /var/www/demoapp/%n.sock

permissions for the socket file

chmod-socket = 666

the variable that holds a flask application inside the module imported at line #6

callable = app

location of log files

logto = /var/log/uwsgi/%n.log - 创建存放 uWSGI 日志的文件夹并更改所有权: sudo mkdir -p /var/log/uwsgi sudo chown -R ubuntu:ubuntu /var/log/uwsgi 10. 执行 uWSGI:`uwsgi --ini /var/www/demoapp/demoapp_uwsgi.ini`。 11. 配置 uWSGI Emperor: - 创建文件 `/etc/init/uwsgi.conf`: description "uWSGI" start on runlevel [2345] stop on runlevel [06] respawn

env UWSGI=/usr/local/bin/uwsgi env LOGTO=/var/log/uwsgi/emperor.log

exec $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --uid www-data --gid www-data --logto $LOGTO - 创建文件夹并建立符号链接: sudo mkdir /etc/uwsgi && sudo mkdir /etc/uwsgi/vassals sudo ln -s /var/www/demoapp/demoapp_uwsgi.ini /etc/uwsgi/vassals - 更改应用和日志文件夹的所有者: sudo chown -R www-data:www-data /var/www/demoapp/ sudo chown -R www-data:www-data /var/log/uwsgi/ `` - 修改 uWSGI 配置文件,将chmod-socket值由 666 更改为 644。 12. 若使用 uWSGI Emperor 启动失败,可使用兼容办法: - 运行python app.py。 - 在程序根目录设置权限给所有用户:sudo chmod -R 777 程序根目录。 - 执行nohup./back_run.sh &`。

最后,打开浏览器访问服务器的公共 IP 地址即可使用应用。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】