由于我们组运维同学只有一位,前期项目的部署都得靠我自己摸索,慢慢的,我就摸索学会了一些和服务器相关的知识。今天分享给大家。
💎 服务器命令知识
切换权限
sudo su 权限名称 // 不填时,默认为root // 💡:有的用户名设置了密码,还需要输入密码回车验证
下载第三方包
不同的服务器操作系统,下载包的命令不一样
- Debian/Ubuntu 发行版:
sudo apt-get install unzip
- CentOS/RHEL 发行版:
sudo yum install unzip
- Fedora 发行版:
sudo dnf install unzip
改变目录
cd . // 返回上级 cd ~ // 返回根目录 cd /home/work // 返回指定目录 // 💡技巧:输入字母按tab键会自动补全
改变文件
// 移动文件 mv /a /b // 将a移动到b目录下,a可以是文件,也可以是目录 // 💡技巧:如果指定的新地址不存在,则会创建新目录 // 重命名 mv a b // 将a命名为b // 删除文件 rm -rf 文件名 // 删除指定文件
文件压缩
zip -r command_file.zip file1 file2 // 将文件1,文件2压缩为command_file.zip压缩包 // 💡:zip需要下载第三方包才能用,而unzip一般为系统自带的命令 unzip a.zip // 解压a.zip文件 // 有时解压文件会提示文件已存在,输入y即可覆盖
预览文件
使用cat
预览文件内容
cat nginx.conf
搜索文件
grep "list" spring.log // 从spring.log中查看包含`list`的句子 grep "list" spring.log > new.txt // 从spring.log中查找包含`list`的句子,并输出到new.txt的文件中
编辑文件
使用vim
命令编辑文件
vim nginx.conf
此时仅仅是预览,接着输入i
,表示输入,这时候文件末尾会出现
-- INSERT --
表示可以在光标位置输入了
保存文件
完成输入之后,按下esc
表示要退出编辑了,此时又回到预览状态 输入:wq
表示保存修改。:q!
表示不保存修改退出
:wq // 保存修改 :q! // 不报错更改
ssh远程登录
需要打开cmd
终端,输入
ssh useName@adress // 例如:ssh work@10.0.0.112.114,如果有密码输入回车就好
还有一种特殊的情况,如果端口不是默认的22,需要你手动指定
ssh -p 23 work@10.0.0.112.114
有的服务器可能有密钥验证,需要你将本地的git
密钥放在服务器指定位置才可以。
然后你就可以在本地cmd
操作远程服务器了!
scp 远程传输文件
// 下载服务器文件到本地 scp work@10.0.0.112.114:/path/filename /local_dir(本地目录) // 本地文件上传至服务器 scp /local_dir work@10.0.0.112.114:/path/filename(本地目录) 💡:如果是目录,可以加参数 -r
💎 nginx命令知识
如果你上手是崭新的服务器,你还需要下载nginx
,下载完之后才能使用
查看nginx配置地址
这时,如果你不知道配置地址在哪个目录可以使用下面的命名,返回结果就是地址信息
nginx -t // nginx: the configuration file /etc/nginx/nginx.conf syntax is ok // nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx启动和关闭
// 重新加载配置文件,一般配置文件修改之后需要运行这个命令 nginx -s reload // 硬关闭nginx服务 nginx -s stop // 优雅的关闭,关闭的时候有请求就等候请求结束在关闭 nginx -s quit // 启动nginx服务 nginx -s start
可能会碰到的问题
大多数情况下,你会遇到下面的两种情况的报错:
// ❌ nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) // ❌ nginx: [error] invalid PID number "" in "/var/run/nginx/nginx.pid"
这两种情况下可以试试下面的两个方法
// 重载配置文件,依然报错的话尝试第二个 nginx -s reload // 杀掉进程 kill nginx // 然后重启 nginx
配置nginx
通常,我们仅仅需要关注serve的配置,大概如下
server { listen 8080; # 监听端口 server_name project_name; # 网站名称 root /home/work/project_name; # 静态文件地址,自己根据情况指定 # 如果你的项目指定了basename,那么这里需要路径重写 # 否则所有的静态文件请求都会返回html文件 location ~* ^/(basename) { rewrite "^/basename/(.*)$" /$1 break; try_files $uri /index.html; } # 如果你的接口地址不是直接请求后端,而是和前端地址一样 # 那么需要设置nginx代理,可以这样设置 location /api { pass_proxy: http://10.0.0.112.114:9000 } # 设置允许跨域 proxy_set_header Access-Control-Allow-Origin *; # 设置一些缓存相关的请求头 add_header Cache-Control no-cache; }
🎉 总结
这些知识虽然比较浅显,不是那么专业级别的深入,但是已经足够应对大多数部署场景了,很多情况下,我们新来的后端都会被我的这些技能惊讶到!
好了,今天的分享就到这了!