1.1 首次连接
拿到服务器后,为了连接它。需要准备三样东西:
- IP地址:公网IP
- 用户名:
root - 密码:在控制台重置一个密码(需重启服务器生效)
打开Xshell或其他SSH工具,填写这些信息,点击连接。
1.2 基础配置
连上服务器后,我们先做些基础工作:
# 更新系统软件包aptupdateaptupgrade-y# 安装常用工具aptinstall-yvimcurlwget# vim是编辑器,curl和wget用来下载东西2.1 创建普通用户
我们创建一个日常使用的用户:
# 创建新用户,比如叫 developeradduser developer# 设置密码(输入两次)# 其他信息可以直接回车跳过# 给这个用户管理员权限usermod-aGsudodeveloper# 切换用户su- developer# 现在你在 developer 的家目录了2.2 修改SSH配置
可修改22->其他:
# 回到root用户(按Ctrl+D)# 编辑SSH配置文件vim/etc/ssh/sshd_config找到这几行,改成:
Port22222# 换个端口,比如22222PermitRootLogin no# 不让root直接登录PasswordAuthentication no# 不用密码登录(后面会用更安全的方式)改完后重启SSH服务:
systemctl restartssh重要提醒:改端口后,要去阿里云控制台的安全组设置里,开放你刚设的端口(比如22222),否则下次就进不来了。
3.1 安装编程工具
如果写C/C++程序:
# 安装完整的开发套件aptinstallbuild-essential-y# 安装调试工具aptinstallgdb-y# 检查是否装好g++--version# 应该能看到版本信息gdb--version# 同上gitte
4.1 准备通行证:SSH密钥
我们要生成一对“数字钥匙”,用来安全地连接Git仓库:
# 生成密钥对ssh-keygen-trsa-b4096# 全程按回车用默认设置就行# 生成后,钥匙在 ~/.ssh/ 目录下# id_rsa 是私钥(绝对不能给别人)# id_rsa.pub 是公钥(要给gitte的ssh公钥下设置)# 看看公钥cat~/.ssh/id_rsa.pub一串以ssh-rsa开头的文字,就是公钥。
4.3 验证连接
# 测试连接Giteessh-Tgit@gitee.com# 同样输入 yes# 看到欢迎信息就说明成功了5.1 本地创建项目
# 创建项目文件夹mkdirmy-first-projectcdmy-first-project# 初始化Git仓库gitinit# 告诉Git你是谁gitconfig user.name"你的名字"gitconfig user.email"你的邮箱"# 创建README文件echo"# 我的第一个服务器项目">README.mdecho"这是我在阿里云服务器上创建的项目">>README.md# 创建.gitignore,排除不需要跟踪的文件echo-e"*.o\n*.exe\n*.log\n.env">.gitignore5.2 连接远程仓库
先在Gitee或GitHub上创建一个空仓库(不要初始化README),然后:
# 添加远程仓库地址gitremoteaddorigin git@gitee.com:你的用户名/仓库名.git# 提交代码gitadd.gitcommit-m"提交的信息"# 推送到远程gitpush-uorigin master第一次推送可能需要一点时间。完成后,刷新你的仓库页面,就能看到代码了。
6.1 基本工作流程
每天开工前:
# 拉取最新代码gitpull origin master# 创建新分支(推荐为每个功能建独立分支)gitcheckout-bfeature/新功能名称开发完成后:
# 查看改了哪些文件gitstatus# 添加所有改动gitadd.# 提交(描述写清楚做了什么)gitcommit-m"添加了用户登录功能"# 推送到远程gitpush origin feature/新功能名称然后到代码平台上创建“合并请求”,等同事审查后合并到主分支。
7.1 定期维护
每周花几分钟做这些事:
# 更新系统aptupdate&&aptupgrade-y# 清理不需要的包aptautoremove-y# 检查磁盘空间df-h# 看看谁登录过服务器last|head-107.2 备份重要数据
# 创建备份文件夹mkdir-p~/backups/$(date+%Y%m%d)# 备份项目代码tar-czf~/backups/项目备份_$(date+%Y%m%d).tar.gz ~/my-project/# 备份配置文件cp~/.bashrc ~/backups/bashrc_backup