如何在服务器上安装fastapi
首先在conda虚拟环境下安装fastapi包
python -m pip install fastapi uvicorn1
之后创建一个脚本testWeb.py
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {
"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {
"item_id": item_id, "q": q}
最后创建服务fastapi server
uvicorn testWeb:app --reload --host 127.0.0.1 --port 8000
之后使用浏览器,在网址窗口输入
http://localhost:8000
就能在浏览器看到fastapi所创建的网页。
网络端口转发
但是,这时只能是在本地电脑上看到这个网页,如果把这个fastapi服务放到服务器上,而且想要在本>地电脑终端上打开网页,那么就需要使用ssh进行网络端口的转发。使用ssh的本地端口转发功能,假设将本地电脑的
8080端口连接到远程服务器的8000端口上,需要在本地电脑的终端运行
ssh -N -L 8080:localhost:8000 username@ip
这样就可以在本地电脑的浏览器上,打开远程服务器所创建的fastapi服务。
安装nodejs
首先去官网下载nodejs的安装包nodejs-v10.0.0-linux-x64.tar.xz,之后创建nodejs的文件夹,再用tar命令进行解压缩
VERSION=v10.15.0
DISTRO=linux-x64
sudo mkdir -p /usr/local/lib/nodejs
sudo tar -xJvf node-$VERSION-$DISTRO.tar.xz -C /usr/local/lib/nodejs
最后创建软链接,从而使系统能够调用node和npm命令
sudo ln -s /usr/local/lib/nodejs/node-v10.0.0-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /usr/local/lib/nodejs/node-v10.0.0-linux-x64/bin/npm /usr/local/bin/npm
安装gitbook
使用npm命令安装gitbook,首先需要注意的是,执行npm安装时,有些文件目录没有权限,所以需要更>改用户权限
sudo chown -R $(whoami) $(npm config get prefix)/{
lib/node_modules,bin,share}
sudo chown -R $USER /usr/local/lib/nodejs/node-v10.0.0-linux-x64/lib/node_modules
sudo chown -R $USER /usr/local/lib/nodejs/node-v10.0.0-linux-x64
其次需要注意的是,官网下载安装包会很慢,所以需要更改为淘宝源
npm config set registry https://registry.npm.taobao.org --global
现在安装gitbook-cli
npm install -g gitbook-cli
之后执行gitbook的命令,会自动安装gitbook,因为网速还是有点慢,所以可能需要很长时间
gitbook -V
使用gitbook
首先创建book目录,并执行初始化
gitbook init
这时book目录会产生两个文件README.md和SUMMARY.md,编辑文件内容即可。
最后创建gitbook服务,就可以在浏览器打开gitbook的网页
gitbook serve
这时的gitbook会将服务连接到4000端口,与fastapi类似,也是使用ssh进行端口转发,就能使用本地电脑的浏览器>打开gitbook了。
安装gitbook的插件plantuml
npm install gitbook-plugin-plantuml
首先在plantuml的编辑器中输入命令
@startuml
Bob -> Alice : hello
@enduml
这时会生成一张图片,这是将命令上传到服务器运行出来的,所以这时会有一个url网址,打开这个网址就能获取图>片,最后使用如下命令把这个图片放到gitbook即可。
![图片描述](http://www.plantuml.com/plantuml/png/SoWkIImgAStDuNBAJrBGjLDmpCbCJbMmKiX8pSd9vt98pKi1IW80)