魔方商城搭建项⽬环境踩坑


VirtualBox

下载地址:https://www.virtualbox.org/wiki/Downloads
安装

在这里插入图片描述

网络配置

在这里插入图片描述在这里插入图片描述


CentOS7

阿里云镜像下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/

开启远程登陆

修改配置
路径:/etc/sysconfig/network-scripts/ifcfg-enp0s3

在这里插入图片描述

修改:ONBOOT=yes

在这里插入图片描述

路径:/etc/ssh/sshd_config

在这里插入图片描述

修改
PermitRootLogin yes
PasswordAuthentication yes

在这里插入图片描述

然后执行:systemctl restart sshd
查看IP:ip addr

在这里插入图片描述


FinalShell

下载地址:http://www.hostbuf.com/t/988.html
连接

在这里插入图片描述


docker

文档地址:https://docs.docker.com/engine/install/centos/
$ sudo yum remove docker \
 docker-client \
 docker-client-latest \
 docker-common \
 docker-latest \
 docker-latest-logrotate \
 docker-logrotate \
 docker-engine
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
启动Docker , 查询docker容器已有的镜像, 并设置随Linux系统开机⾃启动
$ sudo systemctl start docker
$ sudo docker images
$ sudo systemctl enable docker
配置docker阿⾥云镜像加速
路径:/etc/docker/daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4rx5fr6n.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

mysql

拉取镜像
docker pull mysql:5.7 1
启动mysql
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
查询已启动的容器
docker ps
修改配置
# 切换⽂件路径
cd /mydata/mysql/conf
# 创建配置⽂件
vi my.cnf
# 将下列配置信息拷⻉到配置⽂件中
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
# 重启配置信息
docker restart mysql
设置启动Docker时,即运⾏mysql
docker update mysql --restart=always

redis

拉取redis镜像
docker pull redis
配置Redis服务
# 创建配置⽂件存储路径
mkdir -p /mydata/redis/conf
# 创建配置⽂件
touch /mydata/redis/conf/redis.conf
# 填写配置信息【数据持久化AOF】
echo "appendonly yes" >> /mydata/redis/conf/redis.conf
# 填写配置信息【Keyspace notifications】
echo "notify-keyspace-events Ex" >> /mydata/redis/conf/redis.conf
启动redis镜像
docker run -p 6379:6379 --name redis --restart=always \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf --requirepass "设置密码"

Maven

在目录下新建仓库文件夹,例如apache-maven\local-ware,也可以在别处,但是一定不能在系统的文件里(比如Program Files),不然自动下载依赖时会因为写入权限不足而下载失败。
修改配置:apache-maven\conf\settings.xml
搜索“localRepository”,把仓库地址apache-maven\local-ware配置上去。

在这里插入图片描述

在</mirrors>前插入配置阿⾥云镜像
		<mirror>
			<id>
				aliyunmaven
			</id>
			<mirrorOf>
				*
			</mirrorOf>
			<name>
				阿⾥云公共仓库
			</name>
			<url>
				https://maven.aliyun.com/repository/public
			</url>
		</mirror>
在</profiles>前插入jdk1.8配置
		<profile>
			<id>
				jdk-1.8
			</id>
			<activation>
				<activeByDefault>
					true
				</activeByDefault>
				<jdk>
					1.8
				</jdk>
			</activation>
			<properties>
				<maven.compiler.source>
					1.8
				</maven.compiler.source>
				<maven.compiler.target>
					1.8
				</maven.compiler.target>
				<maven.compiler.compilerVersion>
					1.8
				</maven.compiler.compilerVersion>
			</properties>
		</profile>

Git

下载地址镜像:https://npm.taobao.org/mirrors/git-for-windows/
设置⽤户信息
# 全局Git⽤户名称
git config --global user.name “用户名”
# 全局Git⽤户邮箱
git config --global user.email “邮箱地址”
# Git push的时候记住⽤户名和密码
git config --global credential.helper store
通过上⾯的命令设置的信息会保存在cd⽂件中
以上配置信息默认存储在⽤户⽬录下,如果设置错误,可以删除以下如图⽂件,重新操作以上命令即可。

在这里插入图片描述


InteliJ IDEA

New Module时没有spring Initializr,File=>Settings=>Plugins,搜索Spring Assistant安装
New Module报错

在这里插入图片描述

解决方法:将Choose Spring Initializr server改成Cusom,并且输入地址:https://start.aliyun.com/
参考:https://blog.youkuaiyun.com/learnpythonL/article/details/106172314

在这里插入图片描述

启动goods模块时报错

在这里插入图片描述

goods/src/main/resources/application.properties里面的内容全部注释掉
新建文件goods/src/main/resources/application.yml,填入内容,注意缩进!

在这里插入图片描述

启动renren-fast报错

在这里插入图片描述

pom.xml里的lombok版本升级

在这里插入图片描述
参考:https://blog.youkuaiyun.com/wanniwa/article/details/109155143


Nacos

部署

1.拉取镜像

docker pull nacos/nacos-server

2.在MySQL中创建用于存储配置信息的数据库,SQL文件URL如下

nacos-db.sql

3.运行

docker run -d -e PREFER_HOST_MODE=hostname -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -e JVM_XMN=128m -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=数据库ip地址或域名 -e MYSQL_SERVICE_PORT=端口 -e MYSQL_SERVICE_USER=用户名 -e MYSQL_SERVICE_PASSWORD=密码 -e MYSQL_SERVICE_DB_NAME=存放信息的数据库名  -p 8848:8848 --name nacos --restart=always nacos/nacos-server

常见错误

网关gateway启动报错在这里插入图片描述
spring-boot-starter-web冲突,移除!
包括以下的

在这里插入图片描述

启动报Protocol handler start failed
端口冲突,换一个端口
网关跳转时报错

在这里插入图片描述

common模块有tomcat依赖,在gateway中排除

在这里插入图片描述

参考:https://blog.youkuaiyun.com/CerDer/article/details/112686484?spm=1001.2014.3001.5501

ELK

常规部署

  • 开启外网访问
    1、设置Elasticsearch对外访问的Host
    配置文件地址:/home/es/elasticsearch-7.10.2/config/elasticsearch.yml
network.host: 0.0.0.0
  • 开放Linux对外访问端口
    使用命令:/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

使用docker部署

参考文章地址

创建存放配置的文件夹
mkdir /home/elk

elasticsearch‐head

下载docker镜像
docker pull mobz/elasticsearch‐head:5
启动
docker run ‐di --restart=always ‐‐name=es-head ‐p 9100:9100 mobz/elasticsearch‐head:5

elasticsearch

下载docker镜像
docker pull elasticsearch:7.10.1
创建配置文件
vi /home/elk/elasticsearch.yml
在里面添加如下配置:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 访问ID限定,0.0.0.0为不限制,生产环境请设置为固定IP
transport.host: 0.0.0.0
# elasticsearch节点名称
node.name: node-1
# elasticsearch节点信息
cluster.initial_master_nodes: ["node-1"]
# 下面的配置是关闭跨域验证
http.cors.enabled: true
http.cors.allow-origin: "*"
启动
docker run -di --restart=always -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /home/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.10.1

logstash

下载docker镜像
docker pull logstash:7.10.1
创建配置文件
vi /home/elk/logstash.conf
在里面添加如下配置:
input {
    tcp {
        port => 5044
        codec => "plain"
    }
}
filter{

}
output {
    # 这个是logstash的控制台打印(进行安装调试的开启,稍后成功后去掉这个配置即可)
    stdout {
        codec => rubydebug
    }
    # elasticsearch配置
    elasticsearch {
        hosts => ["elasticsearch的IP:9200"]
    }
}
启动
docker run -di --restart=always -p 5044:5044 --name=logstash -v /home/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf logstash:7.10.1

kibana

下载docker镜像
docker pull kibana:7.10.1
创建配置文件
vi /home/elk/kibana.yml
在里面添加如下配置:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elasticsearch的IP:9200"]
# 操作界面语言设置
i18n.locale: "zh-CN"
启动
docker run -di --restart=always -p 5601:5601 --name=kibana -v /home/elk/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.10.1

安装中文分词器IKAnalyzer 7.10.1

进入容器
docker exec -it elasticsearch /bin/bash
下载插件(在容器中运行,因为github不稳定,要等很久,可能还会超时,多试几次!)
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.1/elasticsearch-analysis-ik-7.10.1.zip
退出容器
exit
重启容器
docker restart elasticsearch

OpenResty(Nginx)

安装

1.添加仓库执行命令
yum install yum-utils

yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
2.执行安装
yum install openresty
3.安装成功后 会在默认的目录如下:
cd /usr/local/openresty
4.修改nginx配置
vi /usr/local/openresty/nginx/conf/nginx.conf
#user nobody; 配置文件第一行原来为这样, 现改为下面的配置 
user root root;
5.重启Nginx
 /usr/local/openresty/nginx/sbin/nginx -s reload

开放80端口

查看firewall的状态
firewall-cmd --state
开放80端口
firewall-cmd --permanent --add-port=80/tcp
查看防火墙的开放的端口
firewall-cmd --permanent --list-ports
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

开机启动

修改配置文件
vi /lib/systemd/system/openresty.service
[Unit]
Description=The OpenResty Application Platform
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t -c /usr/local/openresty/nginx/conf/nginx.conf
ExecStart=/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
开机启动
systemctl enable openresty.service

部署

1、打包

mvn package
或者跳过测试
mvn package -D skipTests

2、编写Dockerfile

【占位符】根据实际情况替换
# Docker image for springboot file run
# Author: 【作者】
# Project: 【项目名称】
# Version 0.0.1

# 基础镜像使用java
FROM java:8

# 作者
MAINTAINER 【作者】 <【电子邮箱】>

# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp

# 将jar包添加到容器中并更名为app.jar
ADD 【源jar文件】 app.jar

# 运行jar包
RUN sh -c 'touch /app.jar'

# 设置环境变量
ENV JAVA_OPTS=""

# 允许指定端口转发
EXPOSE 【端口号】

# 指定 Docker image 运行成 instance (也就是 Docker container) 时,要执行的命令或者文件。
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

3、准备部署文件

在Linux的 /home/docker/ 目录下新建文件夹,文件夹名称为项目名称
把打包好的 jar 包和 Dockerfile 放进文件夹里,保持同一级

4、部署

# 打开部署目录
cd /home/docker/【项目名称】

# 构建镜像
docker build -t 【镜像名称】:【版本号】 .

# 运行
docker run -d -p 【项目在Tomcat运行时端口】:【docker运行时端口】 【镜像名称】:【版本号】 --name=【运行容器名】 --restart=always
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值