1 准备工作
准备一个服务器(centos 7镜像)
2 安装java
先下载jdk jdk官网
这里需要一个支持stp的软件,我这里推荐electerm
我们在/home下创建一个文件夹/software存放我们下载的软件包,之后使用electerm将下载的jdk弄到服务器上

接着进入/home/software文件夹,创建一个/usr/java文件夹存放java:
bash
mkdir /usr/java/
解压安装包:
tar -zxvf ...tar.gz
接下来将解压的文件放入/usr/java,并且金如意这个文件夹:
bash
mv jdk-21/ /usr/java
cd /usr/java/
之后我们配置jdk环境:
bash
使用以下指令
vim /etc/profile
之后到最下面 输入a进入插入模式,将下面的代码写入
# 配置java环境变量
export JAVA_HOME=/usr/java/jdk-21
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
之后按esc 输入:wq保存
接着我们刷新下配置文件,就可以查看安装好的java版本:
bash
source /etc/profile/
java -version
3 安装docker
先设置docker库地址
arduino
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
换源:
ini
sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
安装docker引擎,docker客户端,docker容器:
lua
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker服务:
sql
sudo systemctl start docker
查看docker版本号:
docker -v
设置docker开机自启动
bash
systemctl enable docker
随后可以重启linux测试是否开启自启动
重启docker
sudo systemctl restart docker
4 Docker安装各种组件
4.1 Docker安装mysql和数据表迁移
下载MySQL9
lua
docker pull mysql:9.3.0
如果国内服务器会下载失败,可以先在自己的电脑上下载之后打包:
docker save -o mysql-9.3.0.tar mysql:9.3.0
之后在服务器上安装:
docker load -i mysql-8.3.0.tar
下载完毕,检查镜像:
docker images
创建目录
bash
cd /home/
mkdir docker/mysql9 -p
mkdir /home/docker/mysql9/log -p
mkdir /home/docker/mysql9/data -p
mkdir /home/docker/mysql9/conf -p
mkdir /home/docker/mysql9/mysql-files -p
使用如下命令来启动mysql容器:
bash
docker run -p 3306:3306 --name mysql \
-v /home/docker/mysql9/log:/var/log/mysql \
-v /home/docker/mysql9/data:/var/lib/mysql \
-v /home/docker/mysql9/conf:/etc/mysql/conf.d \
-v /home/docker/mysql9/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=429684235 \
-d mysql \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
其他命令:
arduino
docker start mysql
docker stop mysql
docker restart mysql
4.2 Docker安装redis-stack
同样直接拉去redis镜像或者下载安装
arduino
docker pull redis/redis-stack:latest
如果国内服务器会下载失败,可以先在自己的电脑上下载之后打包:
docker save -o redis-stack.tar redis/redis-stack
之后在服务器上安装:
docker load -i redis-stack.tar
之后启动redis容器:
arduino
docker run -d --name redis-stack \
-p 6379:6379 \
-e REDIS_ARGS="--requirepass 429684235" \
redis/redis-stack
4.3 Docker安装searXNG
拉镜像:
bash
docker pull searxng/searxng:latest
或者
如果国内服务器会下载失败,可以先在自己的电脑上下载之后打包:
docker save -o searxng.tar searxng/searxng
之后在服务器上安装:
docker load -i searxng.tar
启动容器:
bash
docker run -p 6080:8080 \
--name searxng \
-d --restart=always \
-v "/home/docker/searxnx:/etc/searxng" \
-e "BASE_URL=http://localhost:$PORT/" \
-e "INSTANCE_NAME=mcp-jd" \
searxng/searxng
5 打包项目
现更改pom文件,在需要打包的工程里的pom中加上如下打包插件
xml
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
之后meaven点击clean和install,在target就可以找到打包的文件
接下来使用sftp将jar包上传到服务器
之后使用以下指令来运行java程序:
bash
nohup java -jar mcp-server.jar >my-server.log 2>&1 &
nohup java -jar mcp-client.jar >my-client.log 2>&1 &
6 安装配置nginx
首先下载nginx:
arduino
wget http://nginx.org/download/nginx-1.28.0.tar.gz
-
安装依赖环境
- 安装gcc环境
- yum install gcc-c++
- 安装PCRE库,用于解析正则表达式
- yum install -y pcre pcre-devel
- zlib压缩和解压缩依赖,
- yum install -y zlib zlib-devel
- SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
- yum install -y openssl openssl-devel
- 安装gcc环境
-
解压,需要注意,解压后得到的是源码,源码需要编译后才能安装
tar -zxvf nginx-1.16.1.tar.gz
-
编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
bashmkdir /var/temp/nginx -p
-
在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件
javascript./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \ --with-http_stub_status_module --with-http_ssl_module
-
注:\ 代表在命令行中换行,用于提高可读性
-
配置命令:
命令 解释 --prefix 指定nginx安装目录 --pid-path 指向nginx的pid --lock-path 锁定安装文件,防止被恶意篡改或误操作 --error-log 错误日志 --http-log-path http日志 --with-http_gzip_static_module 启用gzip模块,在线实时压缩输出数据流 --http-client-body-temp-path 设定客户端请求的临时目录 --http-proxy-temp-path 设定http代理临时目录 --http-fastcgi-temp-path 设定fastcgi临时目录 --http-uwsgi-temp-path 设定uwsgi临时目录 --http-scgi-temp-path 设定scgi临时目录
-
-
make编译
gomake
-
安装
gomake install
-
进入sbin目录启动nginx
bash./nginx
- 停止:./nginx -s stop
- 重新加载:./nginx -s reload
-
打开浏览器,访问虚拟机所处内网ip即可打开nginx默认页面。