安装 python3.9
1、先下载python3.9的依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
2、下载python3.9安装包
下载:wget http://npm.taobao.org/mirrors/python/3.9.0/Python-3.9.0.tgz
如果安装时,没有wget命令,使用yum -y install wget进行安装
3、进行解压
如果下载时候没有进入/usr/local ,可以迁移文件到/usr/local
mv Python-3.9.0.tgz /usr/local/
输入cd /usr/local 进入local目录 输入
tar -zxvf Python-3.9.0.tgz
解压完成 进入cd python-3.9.0目录
输入./configure prefix=/usr/local/python3 进行配置
然后使用 make && make install 进行编译
如果在编译出现报错:
ModuleNotFoundError: No module named '_ctypes'
make: *** [install] Error 1
使用 yum install -y libffi-devel 安装后,重新进行配置和编译。
4、添加快捷访问的方式
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3
输入pip3 -V或者python3 -V查看版本
使用输入python3
————————————————
版权声明:本文为CSDN博主「白手小弟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/SU19920923/article/details/124632330
安装FastAPI
pip3 install fastapi[all]
我使用集成包来安装
在vim编写一个测试程序
注意:host=“0.0.0.0”才可以让外网访问。其实我不太明白,但是这样在本地就可以psotman访问了
利用ssh把证书文件传到服务器——scp命令
添加ssl证书成为https接口
执行uvicorn --help
查看帮助
Usage: uvicorn [OPTIONS] APP
Options:
--host TEXT Bind socket to this host. [default:127.0.0.1]
--port INTEGER Bind socket to this port. [default: 8000]
-----------------此处省略1w字-----------------------------
--ssl-keyfile TEXT SSL key file 这里是证书的.key文件
--ssl-certfile TEXT SSL certificate file 这里是证书的.cer文件
我们只需要执行
if __name__ == "__main__":
uvicorn.run("app.api:app",
host="l0.0.0.0",
port=8000,
reload=True,
ssl_keyfile="./key.pem",
ssl_certfile="./cert.pem")
即可 其中xxx.key 是证书key文件的路径,下同。
启动服务
利用postman测试
如果使用http协议就不能得到数据了
作为服务长期运行
有几次ssh窗口关闭后,api服务就停止了。
又参考了下面的资料
这个网上很多,下面是我从网上搜集的笔记,一直来也用这个方法,最近有朋友问到,我就放到这里,有需要的朋友也可参考!
Linux下把程序放到后台运行,相关的命令,如下:
1、把程序放后台运行,简单的话,只要在命令后面加一个“&”, 如: php test.php &
2、或者在运行命令后,按一下 Ctrl+Z,如运行 php test.php 后,按一下 Ctrl+Z
3、程序在后台运行了,但还是看到输出信息,可以用管道命令把输出定向到 /dev/null,如:php test.php >/dev/null
4、普通的输出信息看不到了,但还是看到一些信息,如错误信息等,需要再添加 2>&1 命令,如:php test.php >/dev/null 2>&1
5、程序在后台运行了,但退出当前会话,发现程序还是停止了,此时要用nohup命令,如:nohup php test.php >/dev/null 2>&1
6、使用nohup后,应确保用exit命令退出当前账户,非常正常退出或结束当前会话,在后台运行的作业也会终止
7、命令在后台运行了,怎么查看?使用jobs命令可列出当前会话的后台任务,jobs -l 能查看到 PID,进而可以用kill终止某个任务
8、是终命令可能是:nohup php test.php >/dev/null 2>&1 &
上面命令中“2>&1”,这里的2和1是啥?参考如下:
其中 0、1、2分别代表如下含义:
0 – stdin (standard input)
1 – stdout (standard output)
2 – stderr (standard error)
(完)
————————————————
版权声明:本文为CSDN博主「ENVON」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/envon123/article/details/82144401
管理后台进程
现在有test.py程序要后台部署, 里面有输出内容
使用命令:
nohup python -u test.py > test.log 2>&1 &
复制代码
最后的&表示后台运行 2 输出错误信息到提示符窗口 1 表示输出信息到提示符窗口, 1前面的&注意添加, 否则还会创建一个名为1的文件 最后会把日志文件输出到test.log文件
查看
tail -f mytest.log如果要实时查看日志文件使用命令
cat mytest.log查看全部输出使用命令
删除
1.查看进程 ps -ef |grep "test.py" --color
2.删除进程 kill -9 pid
————————————————
版权声明:本文为CSDN博主「csuwubing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csuwubing/article/details/113476768
比较奇怪的是使用ps -ef |grep "*.py" --color 不能显示所有python进程。