type
status
date
slug
summary
tags
category
icon
password
教程参考:
notion image

一、创建仓库(gitee)

建议使用gitee,速度快。
notion image
创建好后记录地址:https://gitee.com/xhdou/coe-panel.git
notion image

二、安装git及使用

2.1 安装git

下载地址:
—官网(需科学上网)
—国内
在项目文件夹创建gitignore文件,将以下网址中的内容复过来,这样,上传代码的时候可以忽略很多不需要上传的文件。

2.2 常用git命令

  1. 一次性执行
    1. 经常执行
      1. 第一次提交会提示输入账号和密码。
        notion image

    三、服务器配置

    4.1 git同步代码

    1.先安装git
    1. git命令
    我是用的ubuntu服务器,首先:
    第一次要输入码云账号和密码。
    后面本地修改代码后:
    1. 冲突处理
      1. hc_data.json为例,先解决冲突,然后执行
        你不想手动解决冲突,只想以远程代码为准,可以使用以下命令来强制拉取远程代码并覆盖本地更改:
        如果你只想覆盖冲突的文件,而不是所有文件,可以使用以下命令:
        这个命令会以远程代码为准来解决冲突。你可以对每个冲突的文件执行这个命令,然后标记这些文件为已解决:
        最后,提交这些更改:
    1. 免密登录
      1. 输入一下命令,默认生成再/root/.ssh
        拷贝/root/.ssh/id_rsa.pub文件中内容,粘贴到gitee设置中的SSH公钥中。
        输入:

    4.2 安装python

    1. 安装gcc
      1. 安装python依赖
        各依赖作用
        • zlib1g 是 zlib 库的运行时库。zlib1g-dev 是 zlib 库的开发包,包含头文件和静态库。
        • bzip2 是 bzip2 压缩库的运行时库。libbz2-dev 是 bzip2 压缩库的开发包,包含头文件和静态库。
        • libncurses5 是 ncurses 库的运行时库。libncurses5-dev 是 ncurses 库的开发包,包含头文件和静态库。
        • libreadline-dev 是 readline 库的开发包,包含头文件和静态库。
        • libssl-dev 是 OpenSSL 库的开发包,包含头文件和静态库。
        • xz-utils 是 XZ Utils 的运行时库。liblzma-dev 是 XZ Utils 的开发包,包含头文件和静态库。
        • sqlite3 是 SQLite 数据库的运行时库。libsqlite3-dev 是 SQLite 数据库的开发包,包含头文件和静态库。
        • gdbm 是 GNU dbm 数据库的运行时库。libgdbm-dev 是 GNU dbm 数据库的开发包,包含头文件和静态库。
        • tk 是 Tkinter 库的运行时库。tk-dev 是 Tkinter 库的开发包,包含头文件和静态库。
        • libmysqlclient-dev 是 MySQL 客户端库的开发包,用于与MySQL数据库进行交互。
        • python-dev 是 Python 的开发包,包含头文件和静态库,用于编译扩展模块。
        • libffi-dev 是 libffi 库的开发包,用于支持 C 语言调用其他语言的函数。
        1. 下载python源码
          1. 我用的是Python-3.10.10版本
        1. 解压&编译&安装
            • 解压
              • 进入目录并编译安装
              1. python解释器配置豆瓣源

                4.3 虚拟环境配置

                1. 安装虚拟环境virtualenv
                  1. 创建虚拟环境(coe-panel)
                    1. 在根目录创建一个envs文件夹用于存放所有虚拟环境:
                      创建虚拟环境coe-panel
                  1. 激活虚拟环境
                    1. notion image
                      退出虚拟环境:deactivate

                  4.4 安装配置uwsgi

                  1. 在激活虚拟环境下安装uwsgi
                    1. 基于uwsgi运行flask项目
                        • 命令的方式(不推荐)
                          • http协议监听了8080端口,让uwsgi只用来处理动态请求
                        • -配置文件(推荐)
                          • 在项目文件夹内创建coe-panel_uwsgi.ini配置文件
                          • ⚠️PS:配置文件不要放注释
                            然后执行coe-panel_uwsgi.ini文件
                            如果后台运行要关闭,查找uwsgi相关程序后kill

                    4.5 安装配置NGINX文件

                    1. 安装
                      1. 更新系统软件包:
                        安装 Nginx
                    1. 配置
                      1. 修改niginx.conf配置文件:/etc/nginx/niginx.conf
                        执行sudo nginx -t检查一下配置是否有误
                    1. 启动

                      4.6 域名和https

                      4.7 tmux创建持久会话

                      ⚠️
                      在运行了uwsgi --ini coe-panel_uwsgi.ini & 后,它会将 uwsgi 进程放入后台运行。但是,一旦断开 SSH 连接,会话结束时,该后台进程也会随之终止。 如果您希望在断开 SSH 连接后仍然保持 uwsgi 进程的运行,可以使用tmux
                      1. 启动 tmux 会话:在终端中输入以下命令以启动一个新的 tmux 会话:
                        1. 复制
                          这将创建一个名为 "uwsgi-session" 的新会话。
                      1. 在 tmux 会话中运行命令:
                          • 运行以下命令以激活虚拟环境:
                            • 运行 uwsgi 命令以启动应用程序:
                              uwsgi 进程将开始在 tmux 会话中运行。现在可以安全地断开 SSH 连接,而不会影响 uwsgi 进程。
                          1. 重新连接到 tmux 会话:当您需要再次连接到服务器并查看 uwsgi 进程的输出时,可以使用以下命令重新连接到 tmux 会话:
                            1. 这将重新连接到之前创建的名为 "uwsgi-session" 的 tmux 会话。
                          1. 激活 tmux 会话:如果您当前没有激活 tmux 会话,请使用以下命令重新连接到会话:
                            1. 这里的 "uwsgi-session" 是之前创建的 tmux 会话名称。
                          1. 在 tmux 会话中执行退出命令:按下 Ctrl + D 或输入 exit 命令来退出 tmux 会话。
                              • 如果会话中只有一个窗口,那么整个 tmux 会话将被终止。
                              • 如果会话中有多个窗口,那么您将退出当前窗口,但会话中的其他窗口仍然保持活动状态。

                          4.8 其他注意事项

                          1. 我是python开发的项目,需要在虚拟环境中安装项目所需要的库,例如:
                            1. 注意防火墙是否将相关端口打开

                            4.9 服务器常用命令

                            启动新tmux 会话:tmux new-session -s uwsgi-session
                            重新连接到 tmux 会话:tmux attach-session -t uwsgi-session
                            激活虚拟环境:source /envs/coe-panel/bin/activate
                            关闭虚拟环境:deactivate
                            启动uwsgi配置后台运行:uwsgi --ini coe-panel_uwsgi.ini &
                            检查nginx配置:sudo nginx -t
                            重启nginx服务:sudo service nginx restart
                            查找uwsgi进程:ps aux | grep uwsgi
                             
                             
                             
                            COE-Panel开发日志COE工具箱
                            Loading...
                            DOU~
                            DOU~
                            一个普通的干饭人🍚
                            最新发布
                            使用firefly组建内网环境
                            2025-3-8
                            COE-Panel开发日志
                            2025-3-5
                            Casaos部署合集
                            2025-2-21
                            利用Nginx代理被墙网站实现访问
                            2025-1-31
                            Flask服务器部署
                            2025-1-18
                            利用Nginx代理访问ipv6服务
                            2025-1-12