关于Linux开发的各种问题(持续补充......)

本文介绍了如何配置虚拟机的SSH服务以实现远程登录,处理apt进程错误,使用Git的基本操作,安装软件包,以及在Docker中管理容器、开机自启动和使用Supervisor进行进程管理。还涵盖了日志查看的相关命令和解决启动问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置虚拟机远程ssh登录

  1. 安装ssh服务

    sudo apt-get openssh-server

  2. 允许root实现远程登录

    vim /etc/ssh/sshd_config

    虚拟机远程登录改文件位置,将PermitRootLogin后的内容改为yes

    passwd root(修改root密码)

  3. 重启ssh服务

    sudo service sshd start

apt进程的报错

当apt的进程没有完成时,再次执行apt会出现apt进程被占用的错误

        ps -ef | grep apt

        kill -9 进程号

日志相关命令

  1. journalctl -u logstash | vim - 或 (journalctl -u xxx.service)

    gg查看第一条日志

    shift + g 查看最后 一条日志

  2. tail

    tail -f 文件名称(实时查看日志)

    tail 10 日志文件名(查看末尾10行日志文件)

Git使用说明

- 查看所有分支

  git branch -a

- 查看当前使用分支

  git branch

- 切换分支

  git checkout 分支名

- git全局配置

  git config --global user.email "2546151747@qq.com"
  git config --global user.name "liu---wei"
  git config --global credential.helper store

- 查看当前系统绑定用户全部信息

  git config --list

安装requirements.txt软件包

pip install -r requirements.txt

 

相关命令使用

1.远程复制

        scp -r 用户@IP地址 :文件路径 本地目录

 2.文件查找

        find / -name xxx

3.端口查询

        netstat -aptn/-antl | grep 端口号

        lsof -i : 端口号

docker相关命令

  • docker ps -a 查看所有容器

  • docker exec -it jms_core bash 进入jms_core容器

  • docker stop jms_core 停用jms_core容器

  • docker run -p 3360:3360 -it -d --name mysql -d mysql:5.7

    -p 指定端口映射,格式为:hostPort:containerPort

    --name选项:指定运行后容器的名字为mysql,之后可以通过名字来操作容器

    -d 表示后台运行

  • 制作新镜像并上传至云端

    1. 制作容器:docker commit -a "cuijun" -m "create new img" datatrain tjgd/datatrain

    2. 删除容器:docker rmi

    3. 打标签:docker tag [imageId] registry.cn-hangzhou.aliyuncs.com/tjgd/datatrain:[镜像版本号]

    4. 推至云端:docker push registry.cn-hangzhou.aliyuncs.com/tjgd/datatrain:[镜像版本号]

    5. 删除镜像:docker rmi -f

    6. docker文件映射:docker run -it -d -v /root/data:/root/ --name=datatrain datatrain:3.00

开机子启动自定义服务

  • sudo vi /etc/systemd/system/myscript.service

    myscript.service为自定义服务名称

  • myscript.service文件中填写以下内容

    [Unit]

    Description=My Python Script

    After=multi-user.target

    [Service]

    Type=idle ExecStart=/usr/bin/python /path/to/your_script.py

    [Install]

    WantedBy=multi-user.target

    /path/to/your_script.py为自启动的python文件路劲

  • 保存并关闭 myscript.service 文件

  • 执行sudo systemctl daemon-reload命令,以重新加载 systemd 配置文件

  • 执行sudo systemctl start myscript.service命令,以启动 myscript.service 服务

  • 执行sudo systemctl enable myscript.service,使该服务开机自启动

supervisor

  • Supervisor 是一款针对 Unix/Linux 系统下的进程管理工具,可以用于自动监控和重启运行在系统后台的进程。在 Python 中,Supervisor 通常用于监控运行 Python Web 应用程序的进程,如 Flask、Django 等框架。使用 Supervisor,可以确保进程在意外停止或崩溃时自动重启,从而保证应用程序的可靠性和稳定性。此外,Supervisor 还可以提供实时日志记录和进程状态查询功能,方便开发人员和系统管理员对进程进行监控和管理。

  • 使用 Supervisor 来管理进程通常需要以下几个步骤:

    • 安装 Supervisor:在 Linux 系统中使用包管理器安装 Supervisor,例如在 Ubuntu 上可以使用以下命令进行安装:

      sudo apt-get update sudo apt-get install supervisor

    • 创建进程配置文件:使用 Supervisor 管理进程需要创建一个进程配置文件,该文件通常位于 /etc/supervisor/conf.d/ 目录下,文件名以 .conf 结尾,可以使用任意文本编辑器进行创建。

      例如,我们可以创建一个名为 myapp.conf 的配置文件来管理运行在 8000 端口上的 Flask 应用程序:

      [program:myapp] command=/usr/bin/python /path/to/myapp.py directory=/path/to/ user=myuser autostart=true autorestart=true stderr_logfile=/var/log/myapp.err.log stdout_logfile=/var/log/myapp.out.log 上述配置文件中的参数含义如下:

      program:myapp:进程名称,可以任意指定; command:要运行的命令或脚本; directory:命令或脚本所在的目录; user:运行进程的用户; autostart:是否自动启动; autorestart:是否自动重启; stderr_logfile:错误日志文件; stdout_logfile:标准输出日志文件。

    • 更新 Supervisor 配置:在创建进程配置文件后,需要重新加载 Supervisor 配置,以便使新的进程配置生效。可以使用以下命令来重新加载配置:

      sudo supervisorctl reread sudo supervisorctl update

    • 启动、停止、重启进程:可以使用以下命令来启动、停止、重启进程:

      sudo supervisorctl start myapp sudo supervisorctl stop myapp sudo supervisorctl restart myapp 上述命令中的 myapp 参数对应着进程配置文件中的 program:myapp。

      通过上述步骤,可以使用 Supervisor 管理并监控运行在后台的进程,从而提高应用程序的可靠性和稳定性。

  • 注意问题

    • 自己启动

    • 程序出问题一直启动不来查看日志

      supervisorctl tail test stderr

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值