https://www.aliyun.com/?spm=5176.12818093.top-nav.dlogo.3be916d0u0Ncp9
购买RDS(MYSQL)和ECS(规格族:突发性能实例 t6 )的时候尽量选择一个大区=》如:华东(杭州)
配置不需要太高(够自己使用就行了)
1)Oracle jdk地址这里使用jdk8,选择以下压缩包
https://www.oracle.com/br/java/technologies/javase/javase8u211-later-archive-downloads.html
注:我的网盘
网盘地址:https://pan.baidu.com/s/11KntuYqeUtqA3x_kLUrf6Q?fm=cd1#list/path=%2F
提取码:3876
2)将下载好的压缩包通过XFTP或者其他工具上传到服务器上
mv 命令,注意保留原来的格式(后缀名)
命令:解压 tar -zxvf
具体到压缩包:tar -zxvf jdk8.tar.gz
mv
这一步就是我们在电脑上配置自己的环境变量一样
输入i进入编辑状态,在文章的最后加上配置(通用前提是和上面的重命名的方式统一)
加入如下的配置(统一配置,但是重命名的文件要和我上面的一致):
export JAVA_HOME=/root/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
如下图操作=》
source /etc/profile
java -version
网盘地址:https://pan.baidu.com/s/1MFuRGiB3MbY2S3xqHv8HFQ?fm=cd1#list/path=%2F
提取码:1x73
TMD 话不多说直接拖
注:
如果本地没有还是最好wget 一下,因为国内的github不太稳定(和jdk放一个目录方便管理,然后最好也要重命名),突然想起来下载好像是要钱的,干我们还是都用上传吧【不过流量费是访问ECS产生的流量要钱】
我尽量还是上传吧,万一要收钱就太倒霉了
安装完成之后如下图:(我是统一放在了root下,也可以放到别的目录)
1 cd 到nacos 的bin目录,启动脚本
2 使用sh命令启动,sh startup.sh
查看Linux中进程命=》ps -ef | grep java
nacos的进程
这里直接启动会有一个问题就是,当你在查看时你会发现nacos关掉了。
看两次之后你会发现这个进程关掉了(修改单机)=》
这里的原因是因为nacos是集群的,我们需要把他改成单机的,因为我们自己的小项目没有必要用集群
修改单机启动方式(直接在XFTP中编辑),编辑.cmd文件
再次使用sh startup.sh命令启动脚本
curl 127.0.0.1:8848 访问一下就知道起来,ping通就说明起来了
当我们8848的端口没放开的时候,通过浏览器使用公网ip访问,报找不到服务器,ECS8848对应的端口没放开
解决方案:到阿里云ECS安全组中配置安全组,在入方向放开8848端口,如下
默认账号:nacos/nacos
===========》至此nacos单机部署搞定
jar
指的是最下面的模块
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>1.8source>
<target>1.8target>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-source-pluginartifactId>
<version>3.2.1version>
<configuration>
<attach>trueattach>
configuration>
<executions>
<execution>
<phase>compilephase>
<goals>
<goal>jargoal>
goals>
execution>
executions>
plugin>
plugins>
build>
<profiles>
<profile>
<id>devid>
<properties>
<profilesActive>devprofilesActive>
properties>
profile>
<profile>
<id>testid>
<properties>
<profilesActive>testprofilesActive>
properties>
profile>
<profile>
<id>proid>
<properties>
<profilesActive>proprofilesActive>
properties>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
profile>
<profile>
<id>preid>
<properties>
<profilesActive>preprofilesActive>
properties>
<build>
<resources>
<resource>
<directory>src/main/resources/predirectory>
resource>
resources>
build>
profile>
profiles>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<executions>
<execution>
<goals>
<goal>build-infogoal>
<goal>repackagegoal>
goals>
execution>
executions>
<configuration>
<fork>truefork>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-assembly-pluginartifactId>
<configuration>
<appendAssemblyId>falseappendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xmldescriptor>
descriptors>
configuration>
<executions>
<execution>
<id>make-assemblyid>
<phase>packagephase>
<goals>
<goal>singlegoal>
goals>
execution>
executions>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-resources-pluginartifactId>
<version>2.6version>
<configuration>
<encoding>UTF-8encoding>
<nonFilteredFileExtensions>ttfnonFilteredFileExtensions>
<nonFilteredFileExtensions>pdfnonFilteredFileExtensions>
configuration>
plugin>
<plugin>
<artifactId>maven-antrun-pluginartifactId>
<executions>
<execution>
<id>copyid>
<phase>packagephase>
<configuration>
<tasks>
<copy todir="../target">
<fileset dir="${project.build.directory}">
<include name="${project.artifactId}-${project.version}.jar"/>
fileset>
copy>
tasks>
configuration>
<goals>
<goal>rungoal>
goals>
execution>
executions>
plugin>
plugins>
<resources>
<resource>
<directory>src/main/javadirectory>
<includes>
<include>**/*.xmlinclude>
includes>
<filtering>falsefiltering>
resource>
<resource>
<directory>src/main/resourcesdirectory>
<includes>
<include>**/*.ymlinclude>
includes>
<filtering>falsefiltering>
resource>
<resource>
<directory>src/main/resourcesdirectory>
<filtering>falsefiltering>
<includes>
<include>fonts/*include>
includes>
resource>
<resource>
<directory>src/main/resourcesdirectory>
<filtering>truefiltering>
<excludes>
<exclude>test/*exclude>
<exclude>pro/*exclude>
<exclude>pro/*exclude>
<exclude>dev/*exclude>
<exclude>fonts/*exclude>
excludes>
resource>
<resource>
<directory>src/main/resources/${profilesActive}directory>
resource>
resources>
build>
注:功能模块不需要加加,如common模块和一些api模块
文件的位置
详细配置内容
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>distributionid>
<formats>
<format>zipformat>
<format>tar.gzformat>
formats>
<includeBaseDirectory>trueincludeBaseDirectory>
<files>
<file>
<source>${project.build.directory}/${project.artifactId}-${project.version}.jarsource>
<outputDirectory>./outputDirectory>
<destName>starter.jardestName>
file>
files>
assembly>
可以选择根目录直接install打包
注意
:有可能我们在使用maven插件的时候插件爆红,原因是我们使用的spring版本里面的插件没有用,那我们就自己在每个项目中引入一些我们需要使用的maven插件依赖
maven 插件爆红引入对应的依赖
<dependency>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-assembly-pluginartifactId>
<version>3.0.0version>
dependency>
<dependency>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-antrun-pluginartifactId>
<version>1.8version>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<version>2.7.2version>
dependency>
nohup java -jar mylife-gateway-1.0-SNAPSHOT.jar >/root/myLifePro/myLifeLogs/gateway-nohup.log 2>&1 &
方便我们查日志我们在开发的时候最好搞一个日志跟踪号
yum install nginx
nginx -v
service nginx start
我们可以使用一个文件夹,专门来放前端的文件
1 etc=》nginx 【etc文件夹下的nginx】
由nginx.conf中可知我们可以在conf.d文件夹中去定义我们的配置,如下是nginx.conf文件
2 配置我们的转发地址
配置如下
详解,和一个小问题
server {
# 监听80端口
listen 80;
# 服务器ip
server_name 121.196.217.112;
# 静态资源在服务器中的地址
location /ebook/{
alias /root/myLifePro/ebookFront;
index index.html;
}
}
上面是有问题的,少一个/【原因是对应的文件夹路由不对】,导致403
server {
# 监听80端口
listen 80;
# 服务器ip
server_name 121.196.217.112;
# 静态资源在服务器中的地址
location /ebook/{
alias /root/myLifePro/ebookFront/;
index index.html;
}
}
1 如下无权限
这里将其修改为user root权限为例【一般我们不这样使用】修改nginx用户–nginx.conf
参考该博客:
https://zhuanlan.zhihu.com/p/381967653,尽量不要使用root权限
2 配置完毕
配置完毕-重启nginx
nginx -s reload