服务器以及C++科学计算安装记录
Author : zbzhen, Modified : Wed Dec 11 20:02:03 2024
1. 服务器以及C++科学计算安装记录
1.1. 硬件
服务器在进门右边的第二层上
显示器接口在服务器后面, 建议用最右边那个
1.2. U盘启动盘
-
准备一个大于16G的空优盘
-
下载 ventoy, 并做好启动盘, 这一步非常简单
-
下载好系统镜像, 建议用镜像, 例如
https://mirrors.aliyun.com/centos/7.9.2009/
https://mirrors.aliyun.com/ubuntu-releases/20.04/ -
把
.iso文件放到ventoy启动盘中
1.3. 安装系统
下面的是centos的安装记录
推荐用ubuntu系统, 不会出现额外报错, 会简单很多
-
插入
ventoyU盘启动盘, 按电源开机 -
看屏幕信息, 当出现
Ctrl + S信息时, 果断按Ctrl+S, 就可以进入Bios界面, 然后按方向键选择USB启动, 最后按F4, 可以进入到安装U盘安装界面, 之后就是跟着提示一步步点, 不会有任何困难. 不用怕装出问题, 无非就是丢失资料. -
如果安装出现问题, 不能正常安装, 那么可能需要换U盘, 按电源键关机重启, 再整吧…
-
进入选择界面后,会有三个选项,第一个是安装,第二个是测试安装,建议先测试一遍,如果出could not insert floppy的错误提醒,可能是linux系统自带的nouvean与NVIDIA卡不兼容导致的. 解决办法为: 选择安装选项,光标停在第一个选项,按Tab进入grub编辑界面,在kernel所在行quiet前加上参数nomodeset,然后按Enter启动安装.
-
如果不出意外的话,这时候就会进入图形安装界面了,需要注意的是,centos7在安装时,网络配置链接是关闭的,需要手动打开,不然在安装成功后需要手动链接,这会非常麻烦. 具体设置为: 在
Installation Information Summary界面(安装信息摘要)点击左下角Network and host进入配置界面,将右上角的off修改成on即可配置成功,注意在此界面右端有本机IP地址. 详细教程可以参考
https://www.jianshu.com/p/78445bc6bd85 -
忘记root密码.
- 开机时候有提示按方向键和E键的界面, 就按E键进,
- 按方向键, 在
linux16所在段的末尾, 设置语言的地方,如LANG=en_US.UTF-8,在后面添加命令
rw single init=/bin/sh, - 按下键盘的Ctrl+X执行, 进入单用户界面,
- 输入
passwd即可设置新的root密码了, - 为了让selinux自动初始化,输入:
touch /.autorelabel, - 最后
exec /sbin/init退出单用户模式。
参考
https://blog.csdn.net/gnail_oug/article/details/94721777
1.4. 登陆服务器
1.4.1. 快速连接
-
需要材料:
服务器ip地址, 账号, 密码 -
例如
地址: 10.10.15.226
账号: zbz
密码: 1234
最快速连接的方法为:
打开终端, 输入
ssh zbz@10.10.15.226
回车, 输入密码再回车, 就能成功连上
1.4.2. 免密登陆
推荐本地用linux系统, 可以很方便处理
-
本地终端输入
ssh-keygen, 一路回车即可
创建记录里, 会出现id_rsa.pub文件的全路径 -
ssh-copy-id -i ~/.ssh/id_rsa.pub zbz@10.10.15.226 -
下次直接输入
ssh zbz@10.10.15.226可以不用密码
如果是本地是win系统, 则先用某台linux系统整一次免密登陆, 然后执行下面操作
-
本地终端输入
ssh-keygen, 一路回车即可
创建记录里, 会出现id_rsa.pub文件的全路径 -
把本地的
id_rsa.pub中的所有内容, 写入到服务器里的~/.ssh/authorized_keys文件中, 就可以实现免密登陆
win10系统一些操作提示:
- 终端打开方式: 紧按Shift在桌面空白处点右键–>
在此处打开 Powershell 窗口 - 终端输入
cat id_rsa.pub的全路径, 可直接得到id_rsa.pub文件中的全部内容
vim写入文件
vim ~/.ssh/authorized_keys- 按i开启编写模式
- 粘贴
id_rsa.pub里的内容 - Esc推出编写模式
- 组合快捷键Shift+z+z保存退出
1.4.3. 软件推荐
win10: MobaXterm(不开源)
跨平台的:
-
electerm(开源)
-
windterm 现在完全不推荐
- 它虽然内存占用比较少, 但是它有后面, 而且不是完全开源, 问题很大, 还出现假冒官网投毒事件
-
vscode + 插件 remote-ssh 或 SFTP 或 SSH Client等. 这种方案真的是方便,但是第一次使用配置起来略微麻烦. 非常推荐
- 实践表明, 上面提供的三个插件都比较好用, 个人感觉最好用的方案是 vscode + 插件 SFTP, 因为可以本地也会有一个备份, 并且可以选择是否上传, SFTP相关配置文件为
{ "name": "随意给个名字", "host": "ip地址", "protocol": "sftp", "port": 22, "username": "用户名", "remotePath": "远程路径", "privateKeyPath": "~/.ssh/id_rsa", "uploadOnSave": true, "ignore": [ "**/.vscode/**", "**/.git/**", "**/.DS_Store", "**/__pycache__", "**/.env" ], "watcher": { "files": "**/*", "autoUpload": false, "autoDelete": false } }
- 实践表明, 上面提供的三个插件都比较好用, 个人感觉最好用的方案是 vscode + 插件 SFTP, 因为可以本地也会有一个备份, 并且可以选择是否上传, SFTP相关配置文件为
1.5. ubuntu命令
-
查看ip,
ifconfig -
正常情况下, 安装好了之后就可以远程连接, 如果不行的话, 需要安装
SSH, ubuntu命令为
安装sudo apt install ssh
启动service ssh start
重动service ssh restart
1.5.1. ubuntu C++科学计算包
-
更新软件列表
sudo apt update -
更新软件
sudo apt upgrade -
安装g++,
sudo apt install g++ -
安装gfortran,
sudo apt install gfortran -
如果报错和sparselib相关, 需要重新下载sparselib++解压后,改文件名,输入
make all没报错就OK了 -
安装umfpack
sudo apt-get install libsuitesparse-dev
sudo apt-get install libsuitesparse-doc -
安装gls简单方法
sudo apt-get install libgsl-dev, 如果报错:error: ‘size_t’ does not name a type, 则在
/usr/local/include/gsl/gsl_sf_legendre.h文件的#include <gsl/gsl_sf_result.h>下面添加代码#include <cstddef>
1.6. centos命令
1.6.1. cento常用命令
- 查看ip,
ip add - 创建账号,
adduser zbz - 设置密码,
passwd zbz - 切换账号,
su - zbz - 切换到root,
su - root
1.6.2. cento安装C++科学计算包
- 安装gcc,
sudo yum install gcc - 安装g++,
sudo yum install gcc-c++ - 安装gfortran,
sudo yum install gcc-gfortran - 安装gsl,
sudo yum install gsl* - 安装umfpack,
sudo yum install suitesparse
1.6.3. centos借助syncthing单向同步更新文档
服务器需要做的工作
-
root用户开启8384和22000端口,
临时开启, 重启后失效
sudo firewall-cmd --add-port=8384/tcp
永久开启, 需要加--permanent参数
sudo firewall-cmd --add-port=8384/tcp --permanent
查看firewall-cmd --list-all
关闭(重启才能生效)
sudo firewall-cmd --remove-port=8384/tcp --permanent
如果防火墙没开启的话可以用过
systemctl start firewalld开启防火墙
systemctl stop firewalld关闭防火墙 -
官网下载syncthing
https://github.com/syncthing/discosrv/releases/download/v1.8.0/syncthing-linux-amd64-v1.14.0 -
解压
tar -zxvf syncthing-linux-amd64-v1.8.0.tar.gz -
进入文件夹
cd syncthing-linux-amd64-v1.8.0/ -
启动
./syncthing -
关闭Ctrl+C
-
修改配置文件
vi ~/.config/syncthing/config.xml把127.0.0.1修改为0.0.0.0
温馨提示:vi可以按i进入编写模式, 改写好了之后, 按Esc退出编写模式, 然后组合快捷键Shift+z+z保存并推出
可用cat命令查看有没有修改成功,
cat ~/.config/syncthing/config.xml -
后台运行
nohup ./syncthing -
可以在本地电脑的浏览器输入
10.10.15.226:8384, 然后做适当配置
本地电脑需要做的工作
从syncthing官网下载软件, 并且开启, 做好配置
具体可参考https://kz16.top/sync.html
1.6.4. centos搭建http服务
当然如果想更快速搭建http服务, 那就用python直接一行命令
python -m SimpleHTTPServer 8080
python3 -m http.server 8080
需要开启下8080端口, 然后浏览器中输入 http://10.10.15.226:8080 就可以看到页面内容
-
后台运行
nohup python3 -m http.server 8080 -
关闭后台运行
ps -ef | grep python查看pid进程号, 不想继续跑这个后台程序, 就输入kill pid进程号关闭, 例如
kill 8987
1.6.5. centos安装python3
参考 https://www.cnblogs.com/blueberry-mint/p/13106790.html
-
安装gcc
-
安装其他依赖包
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel -
下载
wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz -
解压
tar -zxvf Python-3.8.9.tgz -
创建python3程序目录
mkdir /usr/local/python3 -
执行配置文件,编译安装python3
cd Python-3.8.9 ./configure --prefix=/usr/local/python3 make && make install一杯咖啡之后…
-
建立软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3 -
测试
python3,pip3 -
如果想再安装一个python3.9, 则前面的安装步骤是一样的, 最后一步, 是覆盖之前的软链接, 也就是
ln –snf /usr/local/python3/bin/python3.9 /usr/bin/python3 -
删除软链接, 比较保险的一种方式
cd /usr/bin/python3/rm python3.9- 出现提示
rm: remove symbolic link ‘python3’?
输入y即可 rm python3.9但是python3.9后面一定不能有斜杠/, 如果加斜杠/就把真的目标文件删了- 如果软链接是文件夹的话就
rm -rf XXX
最后一定不要加斜杠/
1.6.6. anaconda的安装
事实上, 用上面的方法虽然能成功安装python3, 但是在安装第三方包总是报错, 为此, 后面直接用anaconda, 具体参考
https://kz16.top/na/python3/
-
下载, 例如
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh -
安装
bash Anaconda3-2021.05-Linux-x86_64.sh
默认会安装在当前目录,
建议安装在/usr/anaconda3 -
配置环境变量让所有用户生效,
-
vim /etc/profile -
按i进入编辑模式, 在最后一行粘贴
PATH=$PATH:/usr/anaconda3/bin/ export PATH -
再按ESc进入编辑模式, 最后组合快捷键Shift+Z+Z保存退出
-
让环境变量生效
source /etc/profile
-
1.7. jupyter配置
1.7.1. 配置
默认情况下,配置文件 ~/.jupyter/jupyter_notebook_config.py 并不存在,需要自行创建。使用下列命令生成配置文
jupyter notebook --generate-config
root 用户
jupyter notebook --generate-config --allow-root
1.7.2. 密码
jupyter notebook password 如果成功会提示 Wrote hashed password to/.jupyter/jupyter_notebook_config.json
1.7.3. 配置文件
在 jupyter_notebook_config.py 中找到下面的行,取消注释并修改。
c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
c.NotebookApp.notebook_dir = 这里设置下文件夹的位置
1.7.4. 运行
以上设置完以后就可以在服务器上启动 jupyter notebook,jupyter notebook root 用户使用 jupyter notebook --allow-root 注意设置防火墙,例如上面给的是8888端口,就开8888, 这样就可以通过 域名地址:8888 进行访问 例如 http://myweb.com:8888/
参考: http://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security_