1.安装ubuntu18.04
1.下载地址: Index of /ubuntu-releases/18.04/ (aliyun.com)
2.下载
3.在VMware下新建虚拟机安装ubuntu18.04
2.windows和虚拟机中实现复制粘贴
如果虚拟机分辨率不是很符合,可以 设置->设备->显示->分辨率 去进行调整
执行这两条命令, 执行成功后重启即可:
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
注: 如果报了以下错误,解决的办法:
E: 无法获得锁 /var/lib/dpkg/lock - open(11: 资源暂时不可用)
E: 无法获取dpkg前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正在占用?
解决办法:sudo rm /var/lib/dpkg/lock
3.开机时遇到更新
问题:开机屏幕上显示:Ubuntu-Unattended upgrade in progress during shutdown
-
1.什么是Unattended upgrade?
自动更新机制:自动安装最新的安全或者其他更新,
-
2.遇到了应该怎么办?
建议不要强行打断,慢慢等!
按理说最多更新30mins,已更新时长可通过按Esc键查看
-
3.如何关闭?
点击软件与更新,进入更新选项卡,将自动检查更新设置为从不
当你需要更新时,你可以使用如下指令:
sudo apt-get update
sudo apt-get upgrade
4.安装python3.7
Ubuntu版本:18.04
Python版本:3.7
安装两种方法:使用deadsnakes PPA中的标准apt工具(简单) | 并从源代码构建(过程复杂)。
转载链接: 如何在 Ubuntu 18.04上安装 Python3.7 | linux资讯 (linux265.com)
并安装pip和pip3
sudo apt install pip
sudo pate install python3-pip
此处以第一种方式进行安装
1、首先更新软件包列表并安装先决条件:
sudo apt update
sudo apt install software-properties-common
2、接下来,将deadsnakes PPA添加到您的源列表:
sudo add-apt-repository ppa:deadsnakes/ppa
出现提示时按Enter继续:
Press [ENTER] to continue or Ctrl-c to cancel adding it.
3、启用存储库后,使用以下命令安装Python 3.7:
sudo apt install python3.7
4、此时,Python 3.7已安装在您的Ubuntu系统上,随时可以使用。 您可以输入以下命令进行验证:
python3.7 --version
输出
Python 3.7.2
5.安装PyCharm
运行pycharm.sh后右击快速启动栏图标不能add to my favourites
随便新建一个项目,点击tools->create Desktop Entry
关闭pycharm并重新运行pycharm.sh,再次右击图标就可以add to my favourites
注:这里我是在windows下下载的,那么就需要将文件传到Ubuntu18虚拟机上,就需要使用Xshell链接虚拟机,然后使用sudo rz
命令上传文件。如果是在虚拟机下下载的文件,直接解压即可。
-
2.解压文件
sudo tar -zxvf pycharm-communitiy-****.*.*.tar.gz
-
3.启动pycharm
进入解压后的文件夹下的bin目录下,打开终端,输入
sh ./pycharm.sh
6.使用rzsz命令
安装lrzsz:
sudo apt install lrzsz
然后就可以通过xshell使用rzsz的命令实现windows和虚拟机上的文件互传。
7.XSHELL的使用
链接虚拟机Xshell报错:Could not connect to '192.168.254.151' (port 22): Connection failed.
可能没有安装ssh-server 服务器
解决:1.先检查确认有没有安装ssh-server服务器,输入命令:ps –e|grep ssh
2. 安装ssh-server服务器:`sudo apt install openssh-server`
8.vim编辑器
9.将更新源换为国内源
-
备份原来的源
sudo cp /etc/apt/sources.list /etc/apt/souces.list.backup
-
更换为阿里源
vim /etc/apt/sources.list
编辑文件后使用tee命令解决无权修改修改保存文件的尴尬:
:w !sudo tee %
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse更新源
-
更新源
sudo apt-get update
10.安装Git
1.安装Git
sudo apt install git
2.配置自己的名称和电子邮箱
git config --global user.name "名称"
git config --global user.email "电子邮箱地址"
项目开发流程
1.clone项目
git clone source_url
2.新建自己的分支dev
git branch # 产看自己所处的分支,才clone完位于master,表现形式*master
git checkout -b dev # 新建dev分支并切换到dev分支
3.做开发(在dev开发之后,可能存在多个commit)
git add .
git commit -m "第一次开发"
4.做commit的合并
- 首先查找到需要合并的几条commit
- 从下到上(下开上闭)
- git rebase -i 下版本号 上版本号(最新的版本可省略)
重点:因为master需要保证提交日志的清晰
5.上传分支
- 1.切换到master分支拉取最新资源
- git checkout master
- git pull
- 2.切换回自己分支,进行变基
- git checkout dev
- git rebase master
- 3.查看log,如果有自己的重复commit,合并之后再上传
- 有重复的,做commit合并
- 没重复的,跳转到4
- 4.git push origin dev
6.在gitlab中请求分支合并
其他场景下的git命令
通常,我们真实开发不可能完全像上述一样,新需求开发期间会遇到其他问题,因此需要知道一些其他的常见git命令
-
有时,我们的新需求并不是基于 master开发的,可能是基于远程某一个分支来开发。此时,我们的需求是: 基于远程某一个分支创建本地新分支。此时用到的命令是:
git fetch --all // 同步远程所有更新,例如远程新加的分支,tag等 git branch -a // 查看本地以及远程所有分支名 git checkout -b xxx origin/xxx // 在本地创建一个基于远程xxx分支的新分支
-
当我们在本地创建的新分支做开发时,如果突然需要切换到其他分支处理一些事情。此时,我们可能不想做一次commit ,因为当前功能还没完成。就可以使用
git stash
来暂存。
暂存相关的命令
git stash // 暂存被git代理的修改 git stash list // 查看暂存栈 git stash pop // 暂存栈中弹出并且恢复 最近一次缓存的工作目录 git stash apply // 应用某一次缓冲,此时 栈中还会存在这个记录 // stash 相关命令还有很多,例如删除,清空,显示像某个记录改动等
-
我们开发新需求时,新建的本地分支有时候需要推送到远程,防止本地电脑故障造成的代码丢失。 此时,就需要 在远程新建一个分支,并且把我们本地分支代码提交上去。
git push origin 本地分支名 : 远程分支名 // 此命令可以新建一个远程分支并且推送本地分支代码
-
版本回退。我们可以根据commitid 使代码回到相应的commit时候状态。 例如在线上代码出现重大问题时,做代码回退。 通常有以下两种方式:
git reset --hard commitId // 代码回到commitId,并且这条commitId之后的提交都会丢失
git revert -n commitId // 产生一个新的commitid, 追加在原来后面。 新产生的commit,是去除了 你指定的commitId产生的版本。
任何时候,我们都应该使用revert 而不是reset做版本回退。因为我们应该保留所有的代码改动。
11.开启SSH服务
1.安装openssh-service
sudo apt install openssh-server
2.启动ssh服务
命令:sudo service ssh start
检查是否启动成功: ps -aux | grep 'ssh'
3.下载openssh-client
sudo apt install openssh-client
4.查看和生成的SSH秘钥
1.查看系统中是否已经存在生成的密钥
ls -al ~/.ssh/
已经存在id_rsa和id_rsa.pub两个文件,说明已经存在SSH生成的密钥。
2.生成SSH密钥
ssh-keygen -t rsa -C "xxxxxxxxx@xx.com"
放上自己的邮箱,有提问就回车,嘻嘻嘻
3.再次回到1步骤,查看一下是否生成密钥。
4.查看密钥内容
cat /home/liuze/.ssh/id_rsa.pub
找到id_rsa.pub的地址然后cat一下,就看到好几行字母。。。这玩意就是密钥。github/gitlab等都要用的。
12.安装mysql5.7
-
更新源
sudo apt update
-
安装mysql-server (sudo apt install mysql-server)
sudo apt install mysql-server
-
使用sudo mysql进入数据设置root账户的密码和权限
sudo mysql
mysql>
use mysql
mysql>
select user,plugin,authentication_string from user;
mysql>
update user set plugin='mysql_native_password' where user='root';
mysql>
update user set authentication_string=PASSWORD('666666') where user='root';
mysql>
flush privileges;
mysql>
exti;
再通过账号密码重新登录:
mysql -uroot -p666666
-
查看mysql的状态
> 查看mysql状态 sudo service mysql status > 启动mysql服务 sudo service mysql start > 停止mysql服务 sudo service mysql stop > 重启mysql服务 sudo service msyql restart
-
导入sql文件
进入一个数据库下:
use 数据库名
导入sql文件:
source sql文件的路径(/opt/db.sql)
13.安装redis安装Redis服务器端
1.安装redis
~ sudo apt-get install redis-server
2.安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序
检查Redis服务器系统进程:~ ps -agx|grep redis
1 10382 10382 10382 ? -1 Ssl 124 0:07 /usr/bin/redis-server 127.0.0.1:6379
2677 10618 10617 2677 pts/0 10617 S+ 1000 0:00 grep --color=auto redis
3.通过启动命令检查Redis服务器状态
netstat -nlt|grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
tcp6 0 0 ::1:6379 ::😗 LISTEN
4.通过启动命令检查Redis服务器状态
~$ sudo /etc/init.d/redis-server status
5.通过命令行客户端访问Redis
安装Redis服务器,会自动地一起安装Redis命令行客户端程序。
在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器。
redis-cli
然后就可以使用redis的命令了。
14.安装K8s
官网:https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
使用其他包管理安装
如果您使用的是 Ubuntu 或其他支持snap包管理器的Linux 发行版,kubectl 可用作snap应用程序。
snap install kubectl --classic
kubectl version --client
设置token
kubectl config set-credentials developer --token=$TOKEN
测试链接
kubectl -n dos-test get pods
查看可用节点
kubectl get pods -n database
例如:
NAME READY STATUS RESTARTS AGE
main-mysql-test-XXXX 1/1 Running 1 14d
mysql-backup-XXXX 0/1 Completed 0 2d14h
接口转发并访问:
kubectl port-forward -n database main-mysql-test-85854d6d94-pdlfk 3306:3306 #转发
mysql -h 127.0.0.1 -P 3306 -udos_qiye -pdostest dos_test #转发后访问
DATABASE_NAME: 远程数据库名称
PASSWORD: 密码
通过mysqldump端口转发导出测试环境数据库文件到本地:
1.需要先连上去
sudo mysqldump -h 127.0.0.1 -P 3306 -udos_qiye -pdostest --skip-lock-tables dos_test > ~/db.sql
2.
kubectl cp <命名空间>/<pod名>:<文件路径(完全路径)> <本地路径>
- kubectl cp database/<pod名>:/data/backups/mysql/main.2021081918.sql.gz <本地路径>
- kubectl cp database/mysql-get-backup-76c6f5bd5d-7x8st:/data/backups/mysql/main.2021081918.sql.gz ~/sql.sql.gz
报错:
tar: removing leading '/' from member names
error: unexpected EOF
解决:https://www.cnblogs.com/wutou/p/14307290.html
拉取配置文件common
kubectl -ndos-test get configmap common
拉取运行环境配置
从K8s拉取:kubectl get secret -n dos-test NAME -o json | jq -r '.data["secrets.py"]' | base64 -d
dos-test: 节点名称
NAME: boss-backend
NAME获取:
kubectl get secret -ndos-test | grep qiye
kubectl get secret -ndos-test
15.安装搜狗输入法
- 安装fictx输入法框架
sudo apt-get install fictx-bin
sudo apt-get install fictx-table
- 修改设置
安装文件
sudo dpkg -i sogoupinyin_2.1.0.00826_amd64.deb
安装失败就解决依赖问题:
sudo apt install -f
-
安装完后重启虚拟机
-
点击Ubuntu右上角顶栏的小键盘图标中打开 ,将搜狗输入法移动到第一位。
16.安装Postman
下载tar包
官方下载压缩包https://www.postman.com/downloads/
安装
1、 进入下载目录解压
sudo tar -xzf postman.tar.gz -C /opt/
2、 执行Postman安装
/Postman/Postman
3、创建全局变量
sudo ln -s /opt/Postman/Postman /usr/bin/postman
4、添加启动器应用图标
sudo vim /usr/share/applications/postman.desktop
添加内容
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/app/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
工欲善其事,必先利其器!
17.安装navicat
下载tar包:https://download.navicat.com.cn/download/navicat121_premium_cs_x64.tar.gz
1.找到下载路径(找到文件,pwd看一下),移动到/usr/local下。
sudo mv ~/下载/navicat121_premium_cs_x64.tar.gz /usr/local/
2.解压
sudo /usr/local
sudo tar -zxvf navicat121_premium_cs_x64.tar.gz
3.安装
进入解压的文件加下。为了让navicat适用中文,执行 ./start_navicat前,先对start_navicat进行编辑,export LANG="en_US.UTF-8" 更改为export LANG="zh_CN.UTF-8"
然后再执行
./start_navicat
4.使用期
永久使用,试用期到了就删除~/.navicat64
5、添加启动器应用图标
sudo vim /usr/share/applications/postman.desktop
添加内容
[Desktop Entry]
Type=Application
Name=navicat
GenericName=Navicat pro
Comment=Navicat:The SQL manager
Exec=/usr/local/navicat121_prminum_cs_x64/start_navicat
Icon=/usr/local/navicat121_premium_cs_x64/icon.jpg
Terminal=false
Categories=Navicat;Development;
6、或者设置自己的指令启动
vim ~/.bashrc
alias snav='sh /usr/local/navicat121_premium_cs_x64/start_navicat'
如果有其他问题,windows下安装navicat即可,具体见他人博客:
https://www.cnblogs.com/l-y-h/p/12746596.html
18.安装ping命令
sudo apt-get install inetutils-ping
19.配置静态ip
-
虚拟机->编辑->虚拟网络编辑器(设置网关,子网和子网掩码)
-
windows下:右击网络->打开网络和共享中心->更改适配器设置->WMware Network Adapter VMnet8->Internet 协议版本4(TCP/IPv4)的属性。将步骤一的填进去。
-
进入ubuntu18下:
cd /etc/netplan ls # 显示以xxx.yaml结尾的文件,就是网络配置文件。如果没有该文件,通过sudo netplan generate命名生成 ifconfig #查看网卡名称 vim xxx.yaml # xxx以自己ls查看到的文件为准 # xxx.yaml文件的编辑 # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager ethernets: enp33: #配置的网卡名称,使用ifconfig -a查看得到 addresses: [192.168.52.52/24] #设置本机IP及掩码255.255.255.0 gateway4: 192.168.52.2 #设置网关 nameservers: addresses: [8.8.8.8] #设置DNS # 用:w !sudo tee %去进行保存,然后ctrl + z退出 sudo netplan apply #重启网络服务使配置生效
ip和域名是一对多的关系(nginx虚拟机实现原理)
http请求头中的host字段,该默认为请求的url,也可自定义。
请求->DNS域名解析->IP->建立TCP链接->服务器收到请求( 解析http请求host字段来判断你是访问的那个server配置下的代码 )
www.qiniu.com
www.taobao.com
www.jd.com
通过A记录或者CNAME记录的方式最终都和服务器111.111.111.111关联
通过任何一个域名去访问最终解析到的都是IP 111.111.111.111。
20.虚拟机卡顿
1.查看swappiness的值
duke@duke-virtual-machine:~$ cat /proc/sys/vm/swappiness
60
2.减小swappiness的值
sudo gedit /etc/sysctl.conf
在文件的末尾加上
vm.swappiness=20
//永久生效
这样电脑就会变快了
3.额外:禁用ubuntu自动更新(0为禁用,1为启用)
sudo vim /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
21.ubuntu18安装go
1.下载对应go版本,此处以1.15.1为例
Golang官网:https://golang.google.cn/
下载go.1.15.1.linux-amd64.tar.gz压缩包
2.将下载下来的文件解压,移动到 /usr/local下面
tar -zxvf go.1.15.1.linux-amd64.tar.gz
sudo mv go /usr/local/
3.配置工作目录GOPATH
创建自己的go工作目录:
/home/ubuntu/go/
4.配置go开发环境变量
修改.hashrc
sudo gedit ~/.bashrc
后面添加:
export GOROOT=/usr/local/go
export GOPATH=/home/ubuntu/go/
export PATH=/home/ubuntu/go/bin:/usr/local/go/bin:$PATH
使修改生效
source ~/.bashrc
修改profile
sudo gedit /etc/profile
后面添加:
export GOROOT=/usr/local/go
export GOPATH=/home/ubuntu/go/
export PATH=/home/ubuntu/go/bin:/usr/local/go/bin:$PATH
使修改生效
source /etc/profile
查看
export | grep GO
5.测试
go version
22.Goland设置桌面快捷图标
vim /usr/share/applications/goland.desktop
Version=1.0
Terminal=false
Type=Application
Name=GoLand
Exec=/opt/GoLand-2021.1.3/bin/goland.sh
Icon=/opt/GoLand-2021.1.3/bin/goland.svg
NoDisplay=false
StartupWMClass=jetbrains-goland
ps: /opt/GoLand-2021.1.3/为自己goland的目录(绝对路径)