概述
前几个月遇到阿里云99元的服务器活动,本想使用Windows子系统的功能模拟一下,使用起来还是有些限制,于是直接购买了。
我之前一直使用的都是CentOS,对于Ununtu知之甚少。因此,这次也算是记录一下,便于以后使用。
解释器
ubuntu默认对命令使用的是dash解释器,先切换到bash解释器
ls -l /bin/sh
这个命令可以确定解释器使用的是哪个
sudo dpkg-reconfigure dash
运行上面命令,选择no,切换成bash
apt
阿里云购买的服务器,默认源就是阿里云,不需要切换源
只需要更新apt和已安装应用即可
sudo apt update
sudo apt upgrade
python
运行python命令,发现没有,只有python3
运行下面的命令确定python版本,再建立软连接过去
ls -l /usr/bin | grep python
确定python版本是python3.10,执行:
ln -s /usr/bin/python3.10 /usr/bin/python
执行python --version,确定成功
对pip同样操作
docker
# 卸载冲突包(之前可能安装的包)
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 删除卸载残留的镜像(可选)
rm -rf /var/lib/docker/
# 更新仓库索引
sudo apt-get update
# 这些依赖用于确保可以使用 https 的 docker 仓库
sudo apt-get install ca-certificates curl gnupg
# 添加 Docker 的官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 设置 docker 存储库
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新仓库索引
sudo apt-get update
# 安装最新docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 以下为输出内容
# 一些依赖在安装docker 的时候被更新了,需要重启服务已使用最新的依赖
Daemons using outdated libraries
--------------------------------
1. systemd-journald.service 3. systemd-manager 5. systemd-resolved.service 7. user@1000.service
2. systemd-logind.service 4. systemd-networkd.service 6. systemd-timesyncd.service 8. none of the above
(Enter the items or ranges you want to select, separated by spaces.)
Which services should be restarted? 8
# 查看 docker 服务是否启动
sudo systemctl status docker
# 验证是否成功
sudo docker run hello-world
# 配置 docker 镜像仓库
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
EOF
# 重启 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
安装nginx
# 安装nginx
apt install nginx
# 判断是否正常运行
ps -ef|grep nginx
# 相关命令
启动
service nginx start
停止
service nginx stop
nginx -s quit
nginx -s stop
各目录意义
Nginx默认安装位置
/etc/nginx/:该目录包含 Nginx 的配置文件,如 nginx.conf,conf.d 和 sites-available 等。
/usr/share/nginx/html/:该目录是默认的 Nginx 网站根目录,其中包含欢迎页面和示例文件。
/var/log/nginx/:该目录包含 Nginx 的日志文件,如 access.log 和 error.log 等。
/var/cache/nginx/:该目录用于存放 Nginx 的缓存文件,如 proxy_cache 和 fastcgi_cache 等。
这些目录的含义如下:
/etc/nginx/ 目录:存储 Nginx 的配置文件,可以通过修改配置文件来更改 Nginx 的行为,如添加新的站点、更改日志文件路径等。
/usr/share/nginx/html/ 目录:存储默认的 Nginx 网站根目录,其中包含欢迎页面和示例文件,您可以根据需要修改或替换这些文件。
/var/log/nginx/ 目录:存储 Nginx 的日志文件,包括请求日志、错误日志和访问日志等,在故障排除时非常有用。
/var/cache/nginx/ 目录:存储 Nginx 的缓存文件,包括代理缓存、FastCGI 缓存等。如果您正在使用反向代理或缓存功能,您可能会在此目录中看到一些文件和目录。
要注意的是,这些目录位置是默认的位置,在安装 Nginx 后可以更改这些目录的位置和名称,具体操作可以查看 Nginx 的配置文件。
其他的目录和文件
/usr/sbin/nginx:Nginx 的二进制文件,执行该文件即可启动 Nginx。
/etc/default/nginx:Nginx 服务的默认配置文件。
/etc/nginx/nginx.conf:Nginx 的主要配置文件,包括 pid 文件、worker 进程数等。
/etc/nginx/conf.d/:Nginx 其他配置文件的目录。
测试:
创建一个html文件
然后在配置的http段下增加配置
# 编辑
vim /etc/nginx/nginx.conf
# 增加配置
server {
listen 80; # 配置监听的端口
server_name localhost; # 配置的域名
# location段配置信息
location / {
root /usr/share/nginx/html; # 网站根目录
index index.html index.htm; # 默认首页文件
deny 172.168.22.11; # 禁止访问的ip地址,可以为all
allow 172.168.33.44;# 允许访问的ip地址,可以为all
}
error_page 500 502 503 504 /50x.html; # 默认50x对应的访问页面
error_page 400 404 error.html; # 同上
}
Portainer(非必选)
安装可视化工具Portainer
参考文档https://zhuanlan.zhihu.com/p/403285855
到测试环节,无法访问9000端口。在安全组中增加9000端口的访问
# 关闭 防火墙
sudo ufw disable
# 关闭ipv6
编辑 /etc/sysctl.conf
增加
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# 应用设置
sudo sysctl -p