服务器管理直播课(二)

在上一节的直播课上,我们介绍了服务器的基础支持,并介绍了如何登录使用。如果你手头上没有服务器可以练习linux服务器配置与管理,那么可以使用我昨晚当场买的一个腾讯云服务器的账号,相关信息如下。目前已经到期失效。

而今晚三个小时的直播课,主要囊括了如下内容

在上演示如何部署R语言环境,包括

posit的已经编译了一些R的安装

系统已经装了R,我额外编译的R如何让大家都能用到

如何配置

的配置和使用

管理员如何配置

用户如何配置自己的环境

的使用

远程访问服务器

的 搭建

的R环境

上的R部署

这一次,我们以从posit上下载预编译的R: [1]

比如说 20.04的安装方法如下

sudo apt-get update
sudo apt-get install gdebi-core


export R_VERSION=4.3.1
curl -O https://cdn.rstudio.com/r/ubuntu-2004/pkgs/r-${R_VERSION}_1_amd64.deb
sudo gdebi r-${R_VERSION}_1_amd64.deb

#验证
/opt/R/${R_VERSION}/bin/R --version


但是此时安装的R并不能使用,因为他不在环境变量PATH中,为了让所有人能够使用,也为了方便切换版本,我们通过软连接的方式,将安装的R链接到/usr/local/bin下

export R_VERSION=4.3.1

sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript

接下来配置 , 还是为例。

wget https://download2.rstudio.org/server/focal/amd64/rstudio-server-2023.06.1-524-amd64.deb
sudo gdebi rstudio-server-2023.06.1-524-amd64.deb

由于将R放在了/usr/local/bin下,因此 可以直接访问到这个R,也就不需要修改配置文件/etc//.conf

当然环境配置到此还不够,我们下一步还需要安装很多R包,为了简化这一过程,我将我自己常用的R包汇总到了一个文件中,见[2]

你需要在服务器下载我的-r-.r或者新建一个文件,粘贴上述内容,即可。然后运行如下命令

export R_VERSION=4.3.1

sudo /opt/R/${R_VERSION}/bin/Rscript common-r-package.r

这样子服务器就会运行这个安装脚本。

如果是普通用户,那就是去掉这个sudo,会安装到自己的家目录下

export R_VERSION=4.3.1

/opt/R/${R_VERSION}/bin/Rscript common-r-package.r

管理员配置

目标是在服务器上配置一个,支持多个用户登录使用。建议在 20.04以上哦

以root权限配置全局的作为入口

首先,我们安装和

sudo apt install python3 python3-pip

然后,需要手动安装npm

wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz
tar xf node-v18.17.0-linux-x64.tar.xz
sudo mkdir -p /opt/node
sudo mv node-v18.17.0-linux-x64 /opt/node/18.17.0

sudo ln -s /opt/node/18.17.0/bin/* /usr/local/bin

安装-http-proxy

sudo npm install -g  configurable-http-proxy --registry=http://registry.npmmirror.com 
sudo ln -s /opt/node/18.17.0/bin/configurable-http-proxy /usr/local/bin

最后配置

# 安装jupyterhub
sudo python3 -m pip install jupyterhub  -i https://pypi.mirrors.ustc.edu.cn/simple/

hub是一个中心,具体需要调用和,因此建议安装

# 安装jupter lab 和 notebook
sudo python3 -m pip install notebook  -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install jupyterlab  -i https://pypi.mirrors.ustc.edu.cn/simple/

测试下安装状态

jupyterhub -h
configurable-http-proxy -h

的启动有两种

1、基于命令行参数

sudo jupyterhub --ip 0.0.0.0 --port 8989

2、基于配置文件

第一步,生成配置文件

jupyterhub --generate-config

第二步,修改配置文件,主要就是ip和端口

# 设置访问方式
c.JupyterHub.bind_url = 'http://0.0.0.0:8989'

第三步,启动

sudo jupyterhub -f  jupyterhub_config.py

为了方便使用,我们还需要将变成系统服务

第一步,编辑文件

sudo vim /etc/systemd/system/jupyterhub.service

内容如下

[Unit]
Description=Jupyterhub service
After=syslog.target network.target

[Service]
ExecStart=/usr/local/bin/jupyterhub -f /etc/jupyterhub/config.py

[Install]
WantedBy=multi-user.target

还需要复制之前的配置文件

sudo mkdir -p /etc/jupyterhub
sudo cp  jupyterhub_config.py /etc/jupyterhub/config.py

第三步,启动服务

sudo systemctl daemon-reload

# 启动服务
sudo service jupyterhub start
  
# 看状态
sudo systemctl status jupyterhub.service

参考:[3]

用户管理自己的

我们需要掌握的一个知识点:会去$HOME/.local/share// 查找记录的。

因此,在任何 [4] 环境,无论是系统级、用户级、venv[5] 还是 Conda[6] 环境,我们都可以通过手动添加到 [7] 的 列表。以conda为例(关于conda,一定要去阅读我的[8])

以conda为例,我们可以为conda默认环境添加

pip install ipykernel -i https://pypi.mirrors.ustc.edu.cn/simple/
python -m ipykernel install --user --name="base" --display-name="base"
# Installed kernelspec base in /home/用户名/.local/share/jupyter/kernels/base

也可以新建一个.10的环境

conda create -n python3.10 python=3.10 ipython ipykernel

为其增加

python -m ipykernel install --user --name="python310" --display-name="Python 3.10"
# Installed kernelspec python310 in /home/用户名/.local/share/jupyter/kernels/python310

之后,我们就可以在服务器看到这些内容(我配置了不少内容,包括R,还有一个单细胞课程用到的)

图片

如果你需要安装特定的酷库,一种是在的中选择好,然后执行下面的命令

import sys
sys.executable
# 下面必须在jupyter中运行,例如palantir
!{sys.executable} -m pip install  palantir

当然,我更推荐推荐启动对应conda环境, 安装你的库。

conda activate python310
pip install palantir

插件

创建一般指的就是的插件,因为就是一个book而已。

的插件功能通过pip的方式进行安装,例如补全功能(注意pip得是对应的环境下的pip,在中的pip可能是全局pip)

pip install -U jupyterlab-lsp  -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install -U "python-lsp-server[all]"  -i https://pypi.mirrors.ustc.edu.cn/simple/

部分拓展需要用 (≥18),因此需要额外安装你一个node。

git clone https://gitee.com/mirrors/nvm.git
cd nvm
# 启动nvm
. ./nvm.sh
# 安装node=18
nvm install 18

安装的node要添加到环境变量PATH中。

目前的语言模型比较火热,上有一个对应的插件,叫做 AI。他的安装也非常的简便。

首先启动,我的一个环境

conda activate python3.10

安装插件

pip install jupyter_ai

然后打开

%load_ext jupyter_ai_magics

案例

%%ai chatgpt
Please generate the Python code to solve the 2D Laplace equation in cartesian coordinates.
Solve the equation on the square domain X=(0,1and y=(0,1with vanishing boundary conditions.
Plot the solutionu using Matplotlib.
Please also provide ean explanation.

此时会报错

图片

原因,还没有给token,你需要一个官方的token

%env OPENAI_API_KEY = OPENAI官方的token

但是依旧可能出现问题,因为服务器没有穿越能力

图片

这个时候,你可以考虑使用代理线路(进行从另一个地方转发请求,如果担心被盗用,这个连接也提供了自建的方案)

%env OPENAI_API_BASE = https://api.openai-proxy.com/v1

感谢:[9]

环境搭建

是微软推出的一个代码编辑器,本身只有一个代码编辑功能,但是由于他强大的插件(),因此,让他具备了无限可能。

我们先从[10]下载。

然后,我们需要现状第一个插件,,他就可以让我们访问远程服务器,这就可以让我们部分把给淘汰掉了。

之后,我们需要连接到服务器上,如下图所示linux服务器配置与管理,第一次连接会比较慢,因为会在服务器上安装一个.-。

选择一个SSH的配置文件,用于添加我的服务器

图片

同时,右下角还出现了一个提示,点开

可以修改一下配置信息

重启下,就有对应的信息,就可以右击,进行登录。

图片

连接之后,我们需要去安装一些对应的插件,来配置我们的数据分析环境,主要就是R, 。注意这些插件安装完之后,强烈建议重启一下,让配置生效。

首先,我们来安装中R的插件

图片

然后,我们还需要在我们想要配置的版本的R语言中安装R包,.("")

当然还不够,我们还需要设置好,中R插件需要调用R的版本。

左下角有一个齿轮图标,是用来做配置修改的。

图片

点开之后,有三个事情要注意

首先,我们需要切换到远程SSH(下图的标记2),然后搜索R.rterm(下图的标记1)。然后修改其中R的路径,选择你需要的版本(下图的标记3)

图片

这样子配置后,你新建一个以 .r结尾的文件,就可以实现类似于的插件。

通过在代码中,用ctrl+enter,就可以在下方的中执行代码。如果遇到下图的警告,就自己安装一个。

图片

另外一个插件就是

当我们安装好插件之后,只要新建一个以.ipynb结尾的文件,就是一个 。

会检测我们配置的一些

图片

如果你需要让你的能运行R代码,就需要安装一个R包,参考,代码如下。

.('')

::() # to the in the R

@/text- # for ’s

最后说明一点,如果要选择R的内核,要点 哦!

图片

最后,还记得一开始给的服务器登录方式吗?你可以用这个体验下,-和了。

PS:如果你是单细胞课程的学员,果子老师给你的用户名和密码也可以在这里使用。

参考资料

[1]

[2]

[3]

[4]

:

[5]

venv:

[6]

Conda:

[7]

:

[8]

[9]

[10]


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注