问题记录 | 使用服务器

一篇稍有些散乱的个人记录。


1 命令记录

命令 描述
df -h 看磁盘空间使用情况
lsof -i :<端口号> 查找与某个端口相关的进程PID
kill -9 <程序的PID> 强制终止程序
nohup python <文件名>.py & 关闭终端时程序继续运行,
conda info -e 显示所有虚拟环境

补充

nohub是程序由主进程接管;&表示将程序压入后台,以便你可以继续输入其它命令。

运行人脸识别系统

# 切换环境
cd /usr/local/pycodes/face_employee1
conda activate app
# 运行主系统
python app.py
# 运行识别算法
python insightface_api.py

2 操作记录

1. 添加用户clf

同时赋予了用户clf的执行sudo命令的权限。

参考:

以下是添加 clf 用户到 sudoers 文件的步骤:

  1. 使用具有超级用户权限的账户登录系统。

  2. 执行以下命令以编辑 sudoers 文件:

    visudo
    
  3. 在打开的编辑器中,找到以 root ALL=(ALL) ALL 开头的行。

  4. 在该行的下面添加以下内容:

    clf ALL=(ALL) ALL
    

    这将允许用户 clf 执行 sudo 命令以获得超级用户权限。

  5. 保存并退出编辑器。

2. 使用yum安装mysql

过程整理

对于centos7系统

1、在linux中安装yum资源

获取资源:MySQL :: Download MySQL Yum Repository

rpm -ivh <资源下载连接>

2、查看当前mysql版本

yum info mysql-community-server

3、安装mysql

yum -y install mysql-community-server

4、启动mysqld服务

# 检查服务状态:inactive(dead)
systemctl status mysqld
# 启动服务
systemctl start mysqld
# 再次检查状态:active(running)
systemctl status mysqld

5、查询和修改密码

# 查询密码:寻找字段"password is"
less /var/log/mysqld.log
# 修改密码
mysqladmin -u root -p password

:这里的password不是输入你的旧密码或新密码,只是输入这个单词本身而已

参考Linux CentOS 7 安装mysql的两种方式_centos7安装mysql_Escorts的博客-CSDN博客

3. 修改mysql密码

set password = <你的新密码>

4. 尝试在多个浏览器同时访问部署的blog

很奇怪,Edge浏览器可以很快地得到响应,而使用其它浏览器如QQ浏览器、小白浏览器时,响应很慢,甚至有时变成503错误。

emm,似乎和我连接的网络有关系,我从室友的wifi切换到自己手机的热点后,在各个浏览器访问都挺快的。


3 Bug记录

1. 宝塔面板404

解决:在服务器输入bt default,将显示面板地址,使用该地址访问宝塔即可。

参考:宝塔面板404了怎么办?_高野02的博客-CSDN博客

2. pip freeze导出依赖,在服务器无法使用

解决:使用pip list --format=freeze > requirements.txt,并删除distributepipsetuptoolswheel等包(它们是python环境默认有的)。

3. 安装insightface失败

报错如下,

Failed to build insightface
ERROR: Could not build wheels for insightface, which is required to install pyproject.toml-based projects

解决:缺失了c++编译器导致编译insightface失败,安装g++编译器后再次安装insightface成功。

参考:Linux下编译工具:gcc/g++ の最全使用教程 - 玄予博客 (xuanyu.info)

4. conda命令not found(doing)

我切换到新用户clf后,就使用不了anaconda中的python环境了。可能是因为我的anaconda是安装在/root目录下的,只有root用户可以使用。暂时没有解决这个问题,就先直接使用root用户叭。

5. 运行flask应用后,外网连接不上

突然又可以连上了,我中间似乎什么也没做,刚开了一个新的服务器准备做个对照,结果原来的服务器好像又正常了。我发现之前连不上的情况,是与没有在端口上运行应用时的情况很像,都是

当前无法使用此页面
114.55.58.127 当前无法处理此请求。
HTTP ERROR 503

使用Xshell也不会有影响,helloworld程序跑起来可以在公网访问了。会不会是因为有时没有正常结束应用,比如没有按ctrl+c而直接关闭终端或关上我电脑?总之,我也不知道这种情况是什么原因。它突然自己坏了,然后突然又自己好了

6. 安装mysqlclient时报错mysql_config not found

解决:先安装mysql-devel

yum install mysql-devel

然后重新安装mysqlclient即可

pip install mysqlclient

7. ‘_mysql’ is not defined

在本地使用mysql数据库时正常,而在服务器上报了这个错误。可能是python版本的影响吧。
我曾经是使用anaconda搭个版本比较新的虚拟环境,但这次比较懒,直接使用了系统自带的python3.6.8。

注:我使用的是flask框架进行开发
解决方案:在创建数据库实例(db)之前,加入如下代码,使用pymsql代替mysqldb。

import pymysql
pymysql.version_info = (1, 4, 13, "final", 0)
pymysql.install_as_MySQLdb()

参考文章解决Python连接Mysql问题:NameError: name ‘_mysql‘ is not defined


猜你喜欢

转载自blog.csdn.net/m0_63238256/article/details/130959517