前端站点部署流程
今天把服务器玩崩了 重装了一下 顺便过了一下部署站点的流程 以此记录 日后再次部署可加快效率
更新软件包
- 确保 apt-get 安装最新版本的软件包
sudo apt update
Git 安装和配置
安装
sudo apt-get install git
配置
配置git用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"
验证配置:
git config --list
该配置被存储在
~/.gitconfig
文件中配置SSH key
- 查看是否已有密钥
cd ~/.ssh
生成密钥
ssh-keygen -trsa -C "youremail@yourdomain.com"
接着按3个回车,密码为空。 命令执行结束之后,
~
目录下会生成.ssh
目录,cd
到该目录下,使用ls
命令可以看出得到了两个文件:id_rsa(私钥)
和id_rsa.pub(公钥)
。查看id_rsa.pub
文件:vim id_rsa.pub
复制全部内容 粘贴到版本管理系统的SSH公钥中。
- 查看是否已有密钥
使用ssh-agent在同一台设备管理多个Git网站的SSH密钥
- 启动 ssh-agent
eval `ssh-agent -s`
ssh-add
配置ssh代理
查询系统ssh key的代理:
ssh-add -l
如果系统已经设置了代理,需要删除:
$ ssh-add -D All identities removed.
接下来添加刚才创建的ssh key的私钥:
//第一个 $ ssh-add ~/.ssh/id_rsa_github Enter passphrase for /Users/XXX/.ssh/id_rsa_github: Identity added: /Users/XXX/.ssh/id_rsa_github (/Users/XXX/.ssh/id_rsa_github) //第二个 $ ssh-add ~/.ssh/id_rsa_gitee Enter passphrase for /Users/XXX/.ssh/id_rsa_gitee: Identity added: /Users/XXX/.ssh/id_rsa_gitee (/Users/XXX/.ssh/id_rsa_gitee)
添加公钥
添加公钥到版本管理系统的SSH公钥中
配置文件config
在/.ssh目录下创建config配置文件:
vim ~/.ssh/config
# gitee Host gitee User git HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa ServerAliveInterval 300 ServerAliveCountMax 10 # github Host github User git HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github ServerAliveInterval 300 ServerAliveCountMax 10
编辑保存后,再次查看ssh key的代理:
ssh-add -l
如果看到如下,说明设置成功了:
2048 SHA256:............ /Users/XXX/.ssh/id_rsa_github (RSA) 2048 SHA256:............ /Users/XXX/.ssh/id_rsa_gitee (RSA)
验证ssh key
终端中输入如下验证命令,如果返回如下,说明配置成功了:
$ ssh -T git@github.com Hi XXXXXX! You've successfully authenticated, but GitHub does not provide shell access. $ ssh -T git@gitee.com Hi XXXXXX! You've successfully authenticated, but Gitee.com does not provide shell access.
注意
ssh-agent可以手动运行,有两条命令可以用来启动:
ssh-agent $SHELL
:它会在当前 shell 中启动一个默认shell作为当前shell 的子 shell,ssh-agent 会在子shell中运行;可以明确指定$SHELL ,比如 ssh-agent bash , ssh-agent 会随当前 ssh 会话的结束而结 束,这是一种安全机制。eval `shell-agent` : 在windows中为
eval $(ssh-agent
: 它并不会 启动一个子shell,而是直接启动一个ssh-agen
t 进程;此时当我们退出当前 bash 后,ssh-agent进程并不会自动关闭。我们可以在当前bash退出之前,使 用ssh-agent -k
,或者在当前bash
退出之后,使用kill
令,关闭对应 的 ssh-agent 进程。
运行 ssh agent 以后,会加载默认的私钥,
如果有多个密钥,则需要在 ~/.ssh/config 中进行配置:
FAQ: 在 git 的安装目录中。找到 etc 下的 bash.bashrc 文件,在文件末尾添加以下内容(其中里面的 ssh-add 添加的私钥是前面自己的生成的),这样的目的就是每次启动 shell 的时候会自动执行这些命令
343719c9f234317e33dfe1aa8fa0a76d
2aed99c16e3e326479fad6606f48743c
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_me_gitee
NVM 安装(deprecated,推荐使用Volta)
安装
Shell脚本可用于在Ubuntu 20.04 Linux系统上安装NVM, 使用以下命令在系统上安装curl
并运行NVM安装程序脚本。
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
NVM安装程序脚本会为当前用户的登录脚本创建一个环境条目。 可以注销然后重新登录以加载环境,或者运行以下命令来执行相同的操作。
source ~/.profile
Node安装
安装最新版本的Node.js:
nvm install node
安装特定版本的Node.js:
nvm install xx.xx.x(版本号)
可以输入nvm
来查看帮助列表。
Volta安装
参考官网
MYSQL 安装和配置
安装
检查是否已经安装mysql
sudo netstat -tap | grep mysql
安装mysql
sudo apt-get install mysql-server mysql-client
在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可。
配置
修改配置文件的端口绑定
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在下面行的开头加上#,注释掉该行,然后保存退出vim:
bind-address = 127.0.0.1
修改密码
mysql5.7以下
update user set password=PASSWORD("123456") where user=root;
或者是update user set authentication_string=PASSWORD(“123456”) where user=‘root’;
执行完命令之后 flush privileges; 更新所有操作权限,重启数据库 service mysql restart
默认安装的最新版mysql8.0
use mysql;
update user set authentication_string='' where user='root';
将authentication_string
字段置空alter user 'root'@'localhost' identified with mysql_native_password by '123456';
修改密码为123456
数据库导入导出
- 建一个空数据库‘target_database’作为目标数据库
mysql> create database target_database;
- 导出数据库
- 使用mysqldump命令导出数据库
mysqldump -u 用户名 -p 密码 database > xxx.sql(导出文件路径)
- 只导出建表指令
mysqldump -uroot -p -d original_database > xxx.sql(导出文件路径)
- 只导出插入数据的sql指令
mysqldump -uroot -p -t original_database > xxx.sql(导出文件路径)
- 导入数据库
mysql -uroot -p target_database < xxx.sql(导入文件路径)
主机配置
use mysql;
select host from user where user='root';
update user set host = '%' where user ='root'; //设置所有(%)IP可连接
NGINX安装和配置
安装
Nginx 在默认的 Ubuntu 源仓库中可用 运行下面的命令
sudo apt install nginx
一旦安装完成,Nginx 将会被自动启动。可以运行下面的命令来验证它:
sudo systemctl status nginx
所有的 Nginx 配置文件都在/etc/nginx/目录下。
- 测试安装
在浏览器中打开
http://yourip
,可以看到默认的 Nginx 加载页面。
配置
可通过 nginxconfig 在线配置,只需要选择场景,填写好参数,系统将自动生成配置文件。按照流程走就行了。
Docker
在容器中以交互模式执行容器内 shell 脚本:
docker exec -i -t mynginx /bin/bash
jenkins 安装
保持后台运行
nohup java -jar jenkins.war --httpPort=8081 &