Ubuntu22学习记录
- 虚拟机挂载共享文件夹
- 查看当前系统版本
- Ubuntu软件包下载地址
- 离线安装.net core3.1
- 配置 .NET 环境变量
- 离线安装 MySQL
- 安装步骤
- 离线安装 Redis
- 安装步骤
- 离线安装 Supervisor
- 安装步骤
- 离线安装nginx
- 打包步骤
- 完成
- 安装步骤
- 安装文件夹
- 安装步骤
- 卸载步骤
- 开机自启
虚拟机挂载共享文件夹
在虚拟机中挂载共享文件夹,可以使用以下命令:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
查看当前系统版本
lsb_release -a
Ubuntu软件包下载地址
文章内所有的包均来源于https://packages.ubuntu.com/
离线安装.net core3.1
下载地址:sdk下载地址
下载 .NET SDK 完成后,将安装包放到合适的目录下,执行以下命令:
# 创建安装目录
sudo mkdir -p /opt/dotnet# 解压安装包
sudo tar -zxf dotnet-sdk-3.1.426-linux-x64.tar.gz -C /opt/dotnet# 检查安装是否成功
dotnet --version
配置 .NET 环境变量
为了让 .NET SDK 可以全局访问,需要将其添加到环境变量中。
-
打开
~/.bashrc
文件:nano ~/.bashrc
-
进入后,使用键盘的方向键移动光标到文件底部,添加以下两行:
export DOTNET_ROOT=/opt/dotnet export PATH=$PATH:/opt/dotnet
-
保存并退出文件:
- 按
Ctrl + O
保存。 - 按
Enter
确认保存。 - 按
Ctrl + X
退出编辑器。
- 按
-
让配置立即生效:
source ~/.bashrc
-
测试 .NET 是否配置成功:
dotnet --info
如果一切正常,您将看到 .NET 的详细信息,表示配置成功。
离线安装 MySQL
下载地址:MySQL Community Archive
安装步骤
-
解压安装包(建议解压到单独的文件夹):
tar -xvf mysql-server_8.0.30-1ubuntu22.04_amd64.deb-bundle.tar
-
安装解压出来的所有包:
dpkg -i *.deb
-
安装
libaio1
包:dpkg -i /mnt/Ubuntu22/lib/libaio1_0.3.112-13build1_amd64.deb
-
打开 MySQL 配置文件:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
-
在配置文件中添加以下内容并保存:
[mysqld] lower_case_table_names=1
-
创建目录并赋予权限:
sudo mkdir -p /var/lib/mysql sudo chown -R mysql:mysql /var/lib/mysql
-
初始化数据库:
sudo mysqld --initialize --user=mysql
-
启动 MySQL 服务:
sudo systemctl start mysql
-
登录 MySQL 数据库:
mysql -u root -p
-
修改
root
用户密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
至此,MySQL 已经成功安装并配置。
离线安装 Redis
安装步骤
-
安装以下软件包:
dpkg -i *.deb dpkg -i lua-cjson_2.1.0+dfsgs-2.1_amd64.deb dpkg -i lua-bitop_1.0.2-5_amd64.deb dpkg -i liblua5.0-0_5.1.5-8.1build4_amd64.deb dpkg -i libbssf3_3.0.2-0ubuntu1.19_amd64.deb dpkg -i liblzf1_3.6-4_amd64.deb dpkg -i libjemalloc2_5.3.0-2build1_amd64.deb dpkg -i libc6_2.40-0ubuntu3.1_amd64.deb
-
安装 Redis 工具和 Redis 服务器:
dpkg -i /mnt/Ubuntu22/redis/redis-tools_6.0.16-1ubuntu1_amd64.deb dpkg -i /mnt/Ubuntu22/redis/redis-server_6.0.16-1ubuntu1_amd64.deb
-
启用 Redis 并启动服务:
systemctl enable redis systemctl status redis
至此,Redis 已成功安装并启动。
离线安装 Supervisor
安装步骤
-
下载并安装 Supervisor:
dpkg -i ./supervisor/supervisor_4.2.5-2_all.deb
-
启用并启动 Supervisor 服务:
sudo systemctl enable supervisor sudo systemctl start supervisor
-
检查 Supervisor 状态:
supervisorctl status
-
检查 Supervisor 版本:
supervisord --version
至此,Supervisor 已成功安装并启动。
离线安装nginx
别下了,依赖项一堆,直接找台有网的机器下下来打包吧
打包步骤
- 在有网络的机器上创建打包脚本:
nano ~/package_nginx.sh
- 将以下内容粘贴到脚本中:
#!/bin/bashset -eecho "🔧 正在创建打包目录..."
WORKDIR=~/nginx-package
rm -rf "$WORKDIR"
mkdir -p "$WORKDIR"echo "📁 复制 nginx 可执行文件..."
mkdir -p "$WORKDIR/usr/sbin"
cp /usr/sbin/nginx "$WORKDIR/usr/sbin/"echo "📁 复制 nginx 模块(如果有)..."
if [ -d "/usr/lib/nginx" ]; thenmkdir -p "$WORKDIR/usr/lib/nginx"cp -r /usr/lib/nginx/* "$WORKDIR/usr/lib/nginx/"
elseecho "⚠️ 未找到 nginx 模块目录,跳过"
fiecho "📁 复制 nginx 配置..."
mkdir -p "$WORKDIR/etc/nginx"
cp -r /etc/nginx/* "$WORKDIR/etc/nginx/"echo "📁 复制网站根目录..."
mkdir -p "$WORKDIR/var/www/html"
cp -r /var/www/html/* "$WORKDIR/var/www/html/" 2>/dev/null || echo "⚠️ 没有找到默认网站内容,跳过"echo "📁 复制 systemd 服务..."
mkdir -p "$WORKDIR/lib/systemd/system"
cp /lib/systemd/system/nginx.service "$WORKDIR/lib/systemd/system/"echo "📦 正在打包..."
cd ~
tar -czvf nginx-offline.tar.gz nginx-packageecho "✅ 打包完成:~/nginx-offline.tar.gz"
-
给脚本文件添加执行权限:
chmod +x package_nginx.sh
-
运行脚本以生成离线包:
./package_nginx.sh
-
将生成的
nginx-offline.tar.gz
拷贝到共享文件夹或其它介质:cp ~/nginx-offline.tar.gz /mnt/hgfs/ # 拷贝走
完成
至此,您已经成功在有网络的机器上打包了 Nginx,接下来可以将打包文件拷贝到离线环境中进行安装。
安装步骤
安装文件夹
安装目录:/data/nginxpackage/nginx-package/
PS:etc
、lib
、usr
、var
都在根目录下。
安装步骤
-
将离线包拷贝到目标路径:
cp /mnt/hgfs/Ubuntu22/offlinepackage/nginx/nginx-offline.tar.gz ./你的路径
-
解压离线包:
tar -zxf ./nginx-offline.tar.gz cd ./nginx-package/
或者,你可以先解压好,再执行以下命令:
cp -r /mnt/hgfs/Ubuntu22/offlinepackage/nginx/nginx-package/ ./你的路径
-
创建必要的文件路径:
sudo mkdir -p /data/nginxpackage/nginx-package/var/run sudo mkdir -p /data/nginxpackage/nginx-package/var/log/nginx sudo mkdir -p /data/nginxpackage/nginx-package/var/tmp/nginx sudo mkdir -p /var/lib/nginx/body
-
创建软链接:
sudo ln -sf /data/nginxpackage/nginx-package/usr/sbin/nginx /usr/local/bin/nginx
-
修改 Nginx 配置文件:
sudo nano /data/nginxpackage/nginx-package/etc/nginx/nginx.conf
在文件中添加以下内容:
include /data/nginxpackage/nginx-package/etc/nginx/conf.d/*.conf;
-
测试 Nginx 配置:
sudo nginx -t -c /data/nginxpackage/nginx-package/etc/nginx/nginx.conf
如果出现路径错误,一般是文件路径不存在,可以使用
mkdir
创建相关路径。 -
配置
systemd
启动 Nginx 服务:sudo nano /etc/systemd/system/nginx.service
在文件中添加以下内容:
[Unit] Description=The nginx HTTP and reverse proxy server After=network.target[Service] Type=forking ExecStart=/data/nginxpackage/nginx-package/usr/sbin/nginx -c /data/nginxpackage/nginx-package/etc/nginx/nginx.conf ExecReload=/data/nginxpackage/nginx-package/usr/sbin/nginx -s reload ExecStop=/data/nginxpackage/nginx-package/usr/sbin/nginx -s stop PIDFile=/run/nginx.pid PrivateTmp=true[Install] WantedBy=multi-user.target
-
重新加载
systemd
并启动 Nginx:sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx
-
检查 Nginx 状态:
systemctl status nginx
至此,Nginx 就成功安装并启动了。
卸载步骤
# 停止正在运行的 Nginx 服务
sudo systemctl stop nginx# 禁用 Nginx 服务,确保它不会随系统启动
sudo systemctl disable nginx# 删除 Nginx 自定义安装的文件和目录
sudo rm -rf /data/nginxpackage/nginx-package# 删除自定义的 Nginx systemd 服务文件
sudo rm -f /etc/systemd/system/nginx.service# 重新加载 systemd 配置,确保服务文件被清除
sudo systemctl daemon-reload# 确认 Nginx 是否已完全删除
nginx -v
开机自启
# 启用 Nginx 开机自启
sudo systemctl enable nginx# 启用 Supervisor 开机自启
sudo systemctl enable supervisor# 启用 Redis 开机自启
sudo systemctl enable redis-server