我的运维笔记

第1讲:服务器初始化与远程连接

主要工作:购买云服务器、安全组放行端口、创建普通用户 study、配置SSH密钥登录、禁用root密码登录。

关键命令:

# 创建普通用户
sudo useradd study
sudo passwd study

# 将study加入sudo权限组
sudo usermod -aG wheel study

# 本地生成ssh密钥对
ssh-keygen

# 把公钥上传到服务器
ssh-copy-id study@服务器公网IP

# 修改sshd配置禁止root密码登录
sudo vi /etc/ssh/sshd_config
sudo systemctl restart sshd
遇到问题:使用密码依然可以登录root账号
解决:修改/etc/ssh/sshd_config设置PermitRootLogin no,修改后必须重启sshd服务配置才生效。

第2讲:Nginx基础部署,搭建静态网站

主要工作:安装Nginx,编写虚拟主机server配置,部署静态网页,排查403权限错误,理解Nginx主进程、worker工作进程。

关键命令:

# 安装nginx
sudo dnf install nginx
sudo systemctl enable --now nginx

# 检查配置语法
sudo nginx -t

# 重载配置(不中断访问)
sudo systemctl reload nginx

# 查看nginx进程
ps -ef | grep [n]ginx

# 查看目录权限
ls -ld /var/www/mysite
遇到问题:访问网页返回403 Forbidden
原因:Nginx worker进程以nginx用户运行,网页目录属主、权限不对;SELinux未放行。
解决:网站目录权限设置755,文件644;修改目录所有者;配置SELinux上下文。

第3讲:Let’s Encrypt证书配置HTTPS

主要工作:安装certbot,使用webroot方式申请SSL证书;配置80端口301跳转HTTPS;配置自动证书续期。

关键命令:

# 安装certbot
sudo dnf install certbot

# 证书申请演练
sudo certbot certonly --webroot -w /var/www/mysite -d 
pengyingtao.fun --dry-run

# 正式申请证书
sudo certbot certonly --webroot -w /var/www/mysite -d 
pengyingtao.fun

# 模拟续期测试
sudo certbot renew --dry-run

# 查看本机全部证书
sudo certbot certificates
遇到问题:certbot报404 unauthorized验证失败
原因:Nginx配置中/.well-known/acme-challenge/对应的root目录写错,验证程序无法访问验证文件。
解决:核对location中的root路径,确保和certbot的-w参数目录完全一致。