這裡簡單說明一下在Windows系統下開發SpringCloud項目所需要的的基本環境,這裡隻說明開發過程中基礎必須的軟體,其他擴充功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的軟體會在具體使用時詳細說明,本地開發的環境軟體以Windows版本的安裝配置為例,資料庫等中間件以Linux(CentOS7)的安裝配置為例,其他系統Mac/Linux可自行配置。
後端開發需要準備的環境及軟體有:JDK 1.8+,Maven 3.6.3+,Mysql 5.7.11+,Redis 5.0+,Nacos 1.4.0+,Sentinel 1.8.0+,IntelliJ IDEA 2020.2.1
前端開發需要準備的環境及軟體有:Node.js 15.9.0+,npm/cnpm/yarn,Visual Studio Code
* 實際上環境軟體可以使用Docker安裝,更加簡單友善,如果說自己為了更詳細地了解各項配置及安裝原理,還是通過軟體包一步步安裝配置(這裡暫不深入讨論資料庫、消息中間件等應不應該使用Docker安裝的問題),以下為詳細安裝操作步驟,不是小白請略過...*
後端開發所需環境及軟體安裝步驟:
一、安裝JDK
2019年4月16日,Oracle釋出了Oracle JDK的8u211和8u 212兩個版本(屬于JDK8系列),并從這兩個版本開始将JDK的授權許可從BCL換成了OTN,也就是從這兩個版本開始商用收費。當然,個人開發和測試并不會收費,那麼商用環境我們可以有兩個選擇: 下載下傳之前的版本(2019年1月15日釋出的Oracle JDK 8u201和8u202)進行使用或者選擇使用OpenJDK。目前我們一般的做法是在本地開發環境使用Oracle JDK ,在測試環境和正式環境中使用OpenJDK。為了保持使用的特性一緻,需選擇合适的版本。
我們這裡在開發過程中選擇使用Oracke JDK, Oracle JDK官網下載下傳選擇頁面已标注好8u211後面的版本和8u202之前的版本友善下載下傳,https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

- 選擇JDK免費版進行下載下傳,根據自己合适的Windows系統版本下載下傳,我這裡選擇Windows x64版本,提前做好Oracke JDK網站的系統注冊和登入,否則在下載下傳過程中會提示登入,選擇頁面:
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 輕按兩下下載下傳的Oracle JDK進行安裝,根據提示一步步地點選下一步即可:
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
配置環境變量:
在系統環境變量中添加JAVA_HOME和 CLASSPATH,并将JAVA的bin目錄加入到path中
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
驗證是否安裝配置成功:
運作 -> cmd指令視窗,在指令行中輸入:java -version,下面出現版本資訊說明安裝配置成功。
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
二、安裝Maven
我們的SpringCloud項目使用Maven進行建構和依賴管理,Maven 的 Snapshot 版本與 Release 版本:1、Snapshot 版本代表不穩定、尚處于開發中的版本;2、Release 版本則代表穩定的版本。Gradle 作為建構工具最近幾年也比流行,和Maven比較各有優缺點吧,如果說哪一個比較好,這個仁者見仁智者見智,我們這裡仍選擇Maven進行項目建構。
-
下載下傳安裝:
Maven(http://maven.apache.org/download.cgi)需要JDK的支援,我們這裡選擇最新的Manven版本3.6.3,需要JDK1.7以上的支援,JDK的安裝以及配置在上面我們已經完成。 下載下傳Maven的zip包: apache-maven-3.6.3-bin.zip
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
配置環境:
在系統環境變量中添加 M2_HOME 和 MAVEN_HOME,最後在PATH中添加Maven的bin目錄: %MAVEN_HOME%\bin
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 運作 -> cmd指令視窗,在指令行中輸入:mvn -version ,如下圖所示,展示版本資訊說明安裝配置成功。
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
注冊阿裡雲私服并擷取私服倉庫位址:
我們可以選擇安裝Nexus作為Maven倉庫管理器,也可以使用阿裡雲提供的Maven私服,配置方式都是一樣的,這裡我們選擇使用阿裡雲的Maven私服,如果是企業使用,這裡建議申請私有倉庫:
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 5、配置Maven私服位址和本地倉庫路徑,請按下面的注釋進行替換為自己的私有倉庫資訊。SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
<!--?xml version="1.0" encoding="UTF-8"?-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--請替換為自己本地的倉庫位址-->
<localrepository>D:\maven\repository</localrepository>
<mirrors>
<mirror>
<id>mirror</id>
<mirrorof>!rdc-releases,!rdc-snapshots</mirrorof>
<name>mirror</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<servers>
<server>
<id>rdc-releases</id>
<username>使用者名/密碼請替換為自己阿裡雲倉庫的</username>
<password>使用者名/密碼請替換為自己阿裡雲倉庫的</password>
</server>
<server>
<id>rdc-snapshots</id>
<username>使用者名/密碼請替換為自己阿裡雲倉庫的</username>
<password>使用者名/密碼請替換為自己阿裡雲倉庫的</password>
</server>
</servers>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>rdc-releases</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>rdc-snapshots</id>
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginrepositories>
<pluginrepository>
<id>central</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>snapshots</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>rdc-releases</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>rdc-snapshots</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginrepository>
</pluginrepositories>
</profile>
</profiles>
<activeprofiles>
<activeprofile>nexus</activeprofile>
</activeprofiles>
</settings>
三、安裝Mysql
這裡介紹在CentOS7上通過安裝通用預編譯包方式安裝MySql資料庫:
- 增加使用者名和使用者組 :
#groupadd mysql
#useradd -r -g mysql mysql ---建立msyql 使用者禁止登入shell
- 下載下傳、解壓MySQL通用編譯包:
#wget ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
#cd /usr/local/ ---切換到存放源碼包所在目錄(這裡也是安裝目錄)
#tar -xvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz ---在目前目錄解壓通用編譯包
#ln -s /usr/local/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql ---建立軟連結mysql 友善操作
- 設定權限并初始化MySQL系統授權表:
#cd mysql ---進入軟連結目錄
#mkdir /usr/local/mysql/data ---建立資料目錄
#chmod 770 /usr/local/mysql/data ---更改data目錄權限為770
#chown -R mysql. ---更改所有者,注意是mysql.
#chgrp -R mysql. ---更改所屬組,注意是mysql.
#bin/mysqld —initialize -user=mysql -basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---以root 初始化操作時要加--user=mysql參數,生成一個随機的密碼(儲存登入時使用)
#chown -R root. ---更改所有者,注意是root.
#chown -R mysql /usr/local/mysql/data ---更改data目錄所有者為mysql
- 建立配置檔案并背景啟動MySQL
# mv/etc/my.cnf /etc/my.cnf.bak ---my.cnf 改名或删除(預設的my.cnf 會影響mysql 啟動)
#cd /usr/local/mysql/support-files ---進入MySQL 安裝目錄支援檔案目錄
#cp my-default.cnf/etc/my.cnf ---複制模闆為新的配置檔案,根據需要修改檔案中配置選 項如不修改配置MySQL則按預設配置參數運作。
#/usr/local/mysql/bin/mysqld_safe --user=mysql & ---背景啟動mysql
- 配置MySQL自動啟動
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ---複制啟動檔案
#chmod 755 /etc/init.d/mysql ---增加執行權限
#chkconfig -add mysql ---加入自動啟動項
#chkconfig --level 345 mysql on ---設定MySQL 在345 等級自動啟動 ***把服務檔案放到/etc/init.d/目錄下面相當于改為了rpm包安裝的服務使用方式。
- 配置MySQL系統環境變量
#vi /etc/profile ---編輯/etc/profile檔案在最後添加如下兩行:
PATH=/usr/local/mysql/bin:$PATH
export PATH ---不加登入mysql 時會報錯“-bash: mysql: command not found”
#source /etc/profile ---使環境變量及時生效
- 啟動MySQL服務
#/usr/local/mysql/support-files/mysql.server start ---啟動mysql服務
#/usr/local/mysql/support-files/mysql.server restart ---重新開機mysql
#/usr/local/mysql/support-files/mysql.server stop ---停止mysql服務
也可以用service mysql start或systemctl start mysql這樣的rpm服務指令,還可以使用絕對路徑/etc/init.d/mysql start來啟動mysql,因為上面已經把啟動方式改為了rpm服務啟動方式。
- 通路MySQL資料庫
#mysql -u root-p ---連接配接mysql,輸入初始化時生成的密碼
mysql> alter user 'root^'localhost' identified by '123456'; ---修改root 新密碼
mysql> quit; ---退出也可用exit;
# mysql -u root -p ---提示輸入密碼時輸入新設定的密碼登入
mysql>use mysql; ---通路資料庫mysql
mysql>GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION; ---建立可以遠端連結的使用者
- 建立SSL/RSA檔案
#cd /usr/local/mysql/bin ---切換目錄
#mysql_ssl_rsa_setup -user=mysql -basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---建立新的SSL檔案
-
MySQL預設區分大小寫,需要修改配置檔案使其不區分大小寫
在/etc/my.cnf中的[mysqld]後加入下面一行,并重新開機MySQL
lower_case_table_names=1
11、常見問題及解決方式:
a、登入時報錯
#myslq -u root -p
報錯: ERROR 1045 (28000):
Access denied for user 'root'local host' (using password: NO)---(不輸入密碼時)ERROR 1045 (28000):
Access denied for user ,root,@,localhost, (using password: YES)---(輸入密碼時)
解決方式:
#/etc/init.d/mysql stop ---停止mysql 服務
#mysqld_safe -skip-grant-tables -skip-networking & ---跳過權限表控制,跳過TCP/IP 協定在本機通路
#mysql -u root -p mysql ---提示輸入密碼時直接到 7 丨(
mysql>update user set authentication_string=password('123456,) where user='root'; --修改密碼,在 MySQL5.7.9中密碼字段名是authentication_string 而不是原來的password 了。
mysql> flush privileges; ---重新整理MySQL的系統權限相關表使其生效
mysql> quit; ---退出mysql
#/etc/init.d/mysqld restart ---重新開機mysql 服務
b、通路資料庫時報錯
#myslq -u root -p ---提示輸入密碼時輸入新設定的密碼
mysql>use mysql;
報錯: ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
解決方式:
mysql>alteruseruser() identifiedby '123456'; ---再重新設定下密碼,注意方法與之前5.6版本的“SET PASSWORD = PASSWORD('new_password'}/MH
c、啟動MySQL服務報錯
#systemctl start mysql
報錯: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
初始化沒有指定路徑參數造成的加上參數即可
#cd /usr/local/mysql
#bin/mysqld -initialize-user=mysql -basedir=/usr/local/mysql -datadir=/usr/local/mysql/data
d、使用druid作為資料庫連接配接池時,密碼加密(找到maven目錄下的druid包)
java -cp druid-1.0.14.jar com.alibaba.druid.filter.config.ConfigTools you_password
四、安裝Redis
下面是在CentOS7中安裝Redis的操作步驟,在指令行執行以下指令:
- 下載下傳并解壓Redis安裝包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
cd /opt/software/
tar zxf redis-5.0.5.tar.gz -C /usr/local/src
- 編譯并安裝Redis
cd /usr/local/src/redis-5.0.5
make && make install
ln -s /usr/local/src/redis-5.0.5 /usr/local/redis
- 修改Redis配置檔案
vi /usr/local/redis/redis.conf
#修改内容如下:
daemonize yes #開啟背景運作
timeout 120 #逾時時間
bind 0.0.0.0 #任何位址IP都可以登入redis
requirepass 123456 #redis密碼123456
- 啟動Redis
cd /usr/local/redis/src
./redis-server /usr/local/redis/redis.conf
- 測試安裝配置是否成功
redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> KEYS * (empty list or set)
127.0.0.1:6379> set user ray
OK
127.0.0.1:6379> KEYS *
1) "user"
常見問題:
redis不能遠端連接配接時,可能是防火牆的問題,關閉防火牆或者開放對應的redis端口即可
五、安裝Nacos
Nacos是一個更易于建構雲原生應用的動态服務發現、配置管理和服務管理平台,Nacos 緻力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實作動态服務發現、服務配置、服務中繼資料及流量管理。
- Nacos釋出位址:https://github.com/alibaba/nacos/releases,從裡面選擇需要的版本,這裡選擇1.4.0版本,下載下傳位址為:https://github.com/alibaba/nacos/releases/download/1.4.0/nacos-server-1.4.0.tar.gz。
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 下載下傳完成後,上傳到測試Linux伺服器解壓。(如果隻想本地windows安裝,可以下載下傳nacos-server-1.4.0.zip,解壓後使用方法基本一緻)
[root@localhost soft_home]# cd nacos
[root@localhost nacos]# ls
nacos-server-1.4.0.tar.gz
[root@localhost nacos]# tar -zxvf nacos-server-1.4.0.tar.gz
nacos/LICENSE
nacos/NOTICE
nacos/target/nacos-server.jar
nacos/conf/
nacos/conf/schema.sql
nacos/conf/nacos-mysql.sql
nacos/conf/application.properties.example
nacos/conf/nacos-logback.xml
nacos/conf/cluster.conf.example
nacos/conf/application.properties
nacos/bin/startup.sh
nacos/bin/startup.cmd
nacos/bin/shutdown.sh
nacos/bin/shutdown.cmd
[root@localhost nacos]# ls
nacos nacos-server-1.4.0.tar.gz
[root@localhost nacos]# cd nacos
[root@localhost nacos]# ls
bin conf LICENSE NOTICE target
[root@localhost nacos]# cd bin
[root@localhost bin]# ls
shutdown.cmd shutdown.sh startup.cmd startup.sh
[root@localhost bin]# pwd
/usr/local/nacos/nacos/bin
[root@localhost bin]#
- 修改配置檔案的資料庫連接配接,修改為自己實際的資料
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos
- 在資料庫中刷入/nacos/conf目錄下的nacos-mysql.sql資料庫腳本,如果需要其他配置或者了解使用方式可以通路官網,官網位址:https://nacos.io/zh-cn/docs/quick-start.html。
- 進入到bin目錄下直接執行sh startup.sh -m standalone。
[root@localhost bin]# sh startup.sh -m standalone
/usr/java/jdk1.8.0_77/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/nacos/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Djava.ext.dirs=/usr/java/jdk1.8.0_77/jre/lib/ext:/usr/java/jdk1.8.0_77/lib/ext -Xloggc:/usr/local/nacos/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/nacos/nacos/plugins/health,/usr/local/nacos/nacos/plugins/cmdb -Dnacos.home=/usr/local/nacos/nacos -jar /usr/local/nacos/nacos/target/nacos-server.jar --spring.config.location=file:/usr/local/nacos/nacos/conf/,classpath:/,classpath:/config/,file:./,file:./config/ --logging.config=/usr/local/nacos/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /usr/local/nacos/nacos/logs/start.out
6、服務啟動之後,可以通路http://ip:8848/nacos通路管理背景,預設使用者名密碼:nacos/nacos
六、安裝Sentinel
- 下載下傳Sentinel釋出版本,位址https://github.com/alibaba/Sentinel/releases
- 将下載下傳的jar包sentinel-dashboard-1.8.0.jar上傳到CentOS7伺服器,Sentinel 是一個标準的 Spring Boot 應用,以 Spring Boot 的方式運作 jar 包即可,執行啟動指令
nohup java -Dserver.port=8086 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar >/dev/null &
3、在浏覽器輸入測試的http://ip:8086 即可通路登入界面,預設使用者名密碼為sentinel/sentinel
4、至此,一個簡單的Sentinel就部署成功了,其他更詳細功能及使用方式請參考:https://github.com/alibaba/Sentinel/wiki/介紹
-
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
<!--?xml version="1.0" encoding="UTF-8"?-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--請替換為自己本地的倉庫位址-->
<localrepository>D:\maven\repository</localrepository>
<mirrors>
<mirror>
<id>mirror</id>
<mirrorof>!rdc-releases,!rdc-snapshots</mirrorof>
<name>mirror</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<servers>
<server>
<id>rdc-releases</id>
<username>使用者名/密碼請替換為自己阿裡雲倉庫的</username>
<password>使用者名/密碼請替換為自己阿裡雲倉庫的</password>
</server>
<server>
<id>rdc-snapshots</id>
<username>使用者名/密碼請替換為自己阿裡雲倉庫的</username>
<password>使用者名/密碼請替換為自己阿裡雲倉庫的</password>
</server>
</servers>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>rdc-releases</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>rdc-snapshots</id>
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginrepositories>
<pluginrepository>
<id>central</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>snapshots</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>rdc-releases</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginrepository>
<pluginrepository>
<id>rdc-snapshots</id>
<!--下面的url替換為自己的阿裡雲私服位址-->
<url>替換為自己的阿裡雲私服位址</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginrepository>
</pluginrepositories>
</profile>
</profiles>
<activeprofiles>
<activeprofile>nexus</activeprofile>
</activeprofiles>
</settings>
#groupadd mysql
#useradd -r -g mysql mysql ---建立msyql 使用者禁止登入shell
#wget ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
#cd /usr/local/ ---切換到存放源碼包所在目錄(這裡也是安裝目錄)
#tar -xvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz ---在目前目錄解壓通用編譯包
#ln -s /usr/local/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql ---建立軟連結mysql 友善操作
#cd mysql ---進入軟連結目錄
#mkdir /usr/local/mysql/data ---建立資料目錄
#chmod 770 /usr/local/mysql/data ---更改data目錄權限為770
#chown -R mysql. ---更改所有者,注意是mysql.
#chgrp -R mysql. ---更改所屬組,注意是mysql.
#bin/mysqld —initialize -user=mysql -basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---以root 初始化操作時要加--user=mysql參數,生成一個随機的密碼(儲存登入時使用)
#chown -R root. ---更改所有者,注意是root.
#chown -R mysql /usr/local/mysql/data ---更改data目錄所有者為mysql
# mv/etc/my.cnf /etc/my.cnf.bak ---my.cnf 改名或删除(預設的my.cnf 會影響mysql 啟動)
#cd /usr/local/mysql/support-files ---進入MySQL 安裝目錄支援檔案目錄
#cp my-default.cnf/etc/my.cnf ---複制模闆為新的配置檔案,根據需要修改檔案中配置選 項如不修改配置MySQL則按預設配置參數運作。
#/usr/local/mysql/bin/mysqld_safe --user=mysql & ---背景啟動mysql
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ---複制啟動檔案
#chmod 755 /etc/init.d/mysql ---增加執行權限
#chkconfig -add mysql ---加入自動啟動項
#chkconfig --level 345 mysql on ---設定MySQL 在345 等級自動啟動 ***把服務檔案放到/etc/init.d/目錄下面相當于改為了rpm包安裝的服務使用方式。
#vi /etc/profile ---編輯/etc/profile檔案在最後添加如下兩行:
PATH=/usr/local/mysql/bin:$PATH
export PATH ---不加登入mysql 時會報錯“-bash: mysql: command not found”
#source /etc/profile ---使環境變量及時生效
#/usr/local/mysql/support-files/mysql.server start ---啟動mysql服務
#/usr/local/mysql/support-files/mysql.server restart ---重新開機mysql
#/usr/local/mysql/support-files/mysql.server stop ---停止mysql服務
#mysql -u root-p ---連接配接mysql,輸入初始化時生成的密碼
mysql> alter user 'root^'localhost' identified by '123456'; ---修改root 新密碼
mysql> quit; ---退出也可用exit;
# mysql -u root -p ---提示輸入密碼時輸入新設定的密碼登入
mysql>use mysql; ---通路資料庫mysql
mysql>GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION; ---建立可以遠端連結的使用者
#cd /usr/local/mysql/bin ---切換目錄
#mysql_ssl_rsa_setup -user=mysql -basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---建立新的SSL檔案
lower_case_table_names=1
#myslq -u root -p
報錯: ERROR 1045 (28000):
Access denied for user 'root'local host' (using password: NO)---(不輸入密碼時)ERROR 1045 (28000):
Access denied for user ,root,@,localhost, (using password: YES)---(輸入密碼時)
#/etc/init.d/mysql stop ---停止mysql 服務
#mysqld_safe -skip-grant-tables -skip-networking & ---跳過權限表控制,跳過TCP/IP 協定在本機通路
#mysql -u root -p mysql ---提示輸入密碼時直接到 7 丨(
mysql>update user set authentication_string=password('123456,) where user='root'; --修改密碼,在 MySQL5.7.9中密碼字段名是authentication_string 而不是原來的password 了。
mysql> flush privileges; ---重新整理MySQL的系統權限相關表使其生效
mysql> quit; ---退出mysql
#/etc/init.d/mysqld restart ---重新開機mysql 服務
#myslq -u root -p ---提示輸入密碼時輸入新設定的密碼
mysql>use mysql;
報錯: ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql>alteruseruser() identifiedby '123456'; ---再重新設定下密碼,注意方法與之前5.6版本的“SET PASSWORD = PASSWORD('new_password'}/MH
#systemctl start mysql
報錯: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
初始化沒有指定路徑參數造成的加上參數即可
#cd /usr/local/mysql
#bin/mysqld -initialize-user=mysql -basedir=/usr/local/mysql -datadir=/usr/local/mysql/data
java -cp druid-1.0.14.jar com.alibaba.druid.filter.config.ConfigTools you_password
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
cd /opt/software/
tar zxf redis-5.0.5.tar.gz -C /usr/local/src
cd /usr/local/src/redis-5.0.5
make && make install
ln -s /usr/local/src/redis-5.0.5 /usr/local/redis
vi /usr/local/redis/redis.conf
#修改内容如下:
daemonize yes #開啟背景運作
timeout 120 #逾時時間
bind 0.0.0.0 #任何位址IP都可以登入redis
requirepass 123456 #redis密碼123456
cd /usr/local/redis/src
./redis-server /usr/local/redis/redis.conf
redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> KEYS * (empty list or set)
127.0.0.1:6379> set user ray
OK
127.0.0.1:6379> KEYS *
1) "user"
-
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
[root@localhost soft_home]# cd nacos
[root@localhost nacos]# ls
nacos-server-1.4.0.tar.gz
[root@localhost nacos]# tar -zxvf nacos-server-1.4.0.tar.gz
nacos/LICENSE
nacos/NOTICE
nacos/target/nacos-server.jar
nacos/conf/
nacos/conf/schema.sql
nacos/conf/nacos-mysql.sql
nacos/conf/application.properties.example
nacos/conf/nacos-logback.xml
nacos/conf/cluster.conf.example
nacos/conf/application.properties
nacos/bin/startup.sh
nacos/bin/startup.cmd
nacos/bin/shutdown.sh
nacos/bin/shutdown.cmd
[root@localhost nacos]# ls
nacos nacos-server-1.4.0.tar.gz
[root@localhost nacos]# cd nacos
[root@localhost nacos]# ls
bin conf LICENSE NOTICE target
[root@localhost nacos]# cd bin
[root@localhost bin]# ls
shutdown.cmd shutdown.sh startup.cmd startup.sh
[root@localhost bin]# pwd
/usr/local/nacos/nacos/bin
[root@localhost bin]#
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos
[root@localhost bin]# sh startup.sh -m standalone
/usr/java/jdk1.8.0_77/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/nacos/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Djava.ext.dirs=/usr/java/jdk1.8.0_77/jre/lib/ext:/usr/java/jdk1.8.0_77/lib/ext -Xloggc:/usr/local/nacos/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/nacos/nacos/plugins/health,/usr/local/nacos/nacos/plugins/cmdb -Dnacos.home=/usr/local/nacos/nacos -jar /usr/local/nacos/nacos/target/nacos-server.jar --spring.config.location=file:/usr/local/nacos/nacos/conf/,classpath:/,classpath:/config/,file:./,file:./config/ --logging.config=/usr/local/nacos/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /usr/local/nacos/nacos/logs/start.out
nohup java -Dserver.port=8086 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar >/dev/null &
七、安裝IntelliJ IDEA
背景Java代碼我們使用目前最流行的IntelliJ IDEA進行開發
- 下載下傳需要的安裝包,IntelliJ IDEA下載下傳,輕按兩下安裝,一直點選下一步,盡量修改一下安裝目錄,不要安裝在C槽即可。
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 想辦法擷取到注冊碼
- 配置預設的Maven和JDK路徑
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 IDEA預設會讀取到系統配置的JDK環境變量,具體項目可通過File -> Project Structure進行配置。SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 通過插件中心,安裝Lombok,MybatisX, Save Actions, Eclipse Code Formatter插件,後面會詳細介紹幾款插件的用法:
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
前端開發所需環境及軟體安裝步驟:
一、安裝Node.js
如果是剛接觸Vue的話,建議學習一下vue-element-admin系列文章,介紹得很詳細,雖然ElementUI已經不更新了,但是這位前端大神寫的文檔比AntDesignVue文檔高好幾個層級,AntDesignVue适合掌握一定Vue能力的人去使用學習。
- Node.js下載下傳位址:https://nodejs.org/en/download/releases/
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 輕按兩下安裝包,一步步點選下一步即可
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 -
檢查是否安裝成功
運作 -> cmd指令視窗 ,在指令行中輸入 node -v ,顯示node版本資訊表示安裝成功
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備
npm config set registry https://registry.npm.taobao.org/
- 安裝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 安裝yarn
npm install -g yarn
yarn config set registry `https://registry.npm.taobao.org -g`
- 下載下傳合适的VSCode安裝包,下載下傳位址
SpringCloud微服務實戰——搭建企業級開發架構(二):環境準備 - 我們這裡選擇的是.zip解壓版,下載下傳解壓後就可使用。
-
安裝插件,打開VSCode,點選左側下面的擴充按鈕,選擇需要的插件進行安裝
漢化插件: Chinese (Simplified) Language Pack for Visual Studio Code
代碼檢查/格式化工具: ESLint
Html/js/css進行格式化對齊顯示: Beautify
Vue開發工具 : Vetur
-
配置ESLint自動檢測格式化前端代碼
在我們使用的前端架構中,已經生成eslint 相關的配置檔案.eslintignore和.eslintrc.js,當我們編輯代碼儲存時,ESlint插件會将我們的代碼自動按照配置好的格式進行格式化,這裡介紹在VSCode中如何配置使用Eslint。
修改VSCode配置,檔案->首選項->設定,在設定頁,點選右上角第一個按鈕,打開setting.json,修改内容為:
{
//儲存自動格式化
"editor.formatOnSave": true,
//autoFixedOnSave 設定已廢棄,采用如下新的設定
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
//.vue檔案template格式化支援,并使用js-beautify-html插件
"vetur.format.defaultFormatter.html": "js-beautify-html",
// js-beautify-html格式化配置,屬性強制換行
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "force-aligned"
}
},
//後面不添加逗号
"vetur.format.defaultFormatter.js": "vscode-typescript",
//方法後面加空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"files.autoSave": "off",
"eslint.format.enable": true,
//autoFix預設開啟,隻需輸入字元串數組即可
"eslint.validate": [
"javascript",
"javascriptreact",
"vue",
"html",
"vue-html"
],
"eslint.run": "onSave"
}