1.安装ubuntu18.04

1.下载地址: Index of /ubuntu-releases/18.04/ (aliyun.com)

2.下载1627054610950

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

1627112162965

​ 注:这里我是在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.将更新源换为国内源

  1. 备份原来的源

    sudo cp /etc/apt/sources.list /etc/apt/souces.list.backup

  2. 更换为阿里源

    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更新源
    
  3. 更新源

    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

  1. 更新源

    sudo apt update

  2. 安装mysql-server (sudo apt install mysql-server)

    sudo apt install mysql-server

  3. 使用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

  4. 查看mysql的状态

    > 查看mysql状态 sudo service mysql status
    > 启动mysql服务 sudo service mysql start
    > 停止mysql服务 sudo service mysql stop
    > 重启mysql服务 sudo service msyql restart
    
  5. 导入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.安装搜狗输入法

  1. 安装fictx输入法框架

sudo apt-get install fictx-bin

sudo apt-get install fictx-table

  1. 修改设置

1627266631828

  1. 下载文件:http://pinyin.sogou.com/linux

安装文件

sudo dpkg -i sogoupinyin_2.1.0.00826_amd64.deb

安装失败就解决依赖问题:

sudo apt install -f

  1. 安装完后重启虚拟机

  2. 点击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.虚拟机卡顿

https://blog.csdn.net/Hanghang_/article/details/97903659

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

img

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的目录(绝对路径)