此次說明:這是我從碼雲上拉取下來的java項目,僅供試驗說明,不做任何獲利渠道,若是發現有人拿此做其他用處,需像碼雲上這位大佬說明,特此感謝!!!
准備工作:
安裝 maven,jdk1.8,下載項目(DBlog),mysql,redis,git
下載Maven 3安裝包官網:http://maven.apache.org/download.cgi
清華鏡像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/
老夫下載好的軟件=====>>>>>鏈接:https://pan.baidu.com/s/1jHYfVGKOEM4WuU9OOaEvYQ 提取碼:uutl
安裝Maven
[root@localhost opt]#tar xf apache‐maven‐3.3.9‐bin.tar.gz [root@localhost opt]# mv apache-maven-3.3.9 /usr/local/maven
編輯/etc/profile文件
export PATH=/usr/local/maven/bin:$PATH source /etc/profile
檢查版本信息
[root@localhost /]# mvn -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /usr/local/maven Java version: 1.8.0_181, vendor: Oracle Corporation Java home: /usr/java/jdk1.8.0_181-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"
安裝jdk1.8版本(只要是1.8即可,隨便那種方式安裝都行)
[root@localhost /]# rpm -ivh jdk-8u181-linux-x64.rpm warning: jdk-8u181-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing... ################################# [100%] Updating / installing... 1:jdk1.8-2000:1.8.0_181-fcs ################################# [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar...
查看版本安裝是否成功
[root@localhost /]# java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
在碼雲上下載博客資源
特別說明:獲取資源鏈接地址,開始下載,有安裝git的可以使用git clone+鏈接的方式下載,沒有的話只能安裝git因為鏈接資源是git文件,其他方式下載打不開的
這里安裝並設置下git,然后下載項目資源
[root@localhost opt]# yum -y install git [root@localhost opt]# git init #初始化倉庫,不過注意此倉庫不要有其他文件 [root@localhost opt]# git clone https://gitee.com/yadong.zhang/DBlog.git #https這就是從碼雲上獲取的鏈接 Cloning into 'DBlog'... remote: Enumerating objects: 6356, done. remote: Counting objects: 100% (6356/6356), done. remote: Compressing objects: 100% (3022/3022), done. remote: Total 6356 (delta 3147), reused 4916 (delta 2417) Receiving objects: 100% (6356/6356), 6.87 MiB | 3.32 MiB/s, done. Resolving deltas: 100% (3147/3147), done. [root@localhost opt]# ls DBlog
將下載地址換成阿里雲
原因:因為原地址是國外的,對於我們來說獲取資源太慢,所以換成了國內的,比如阿里雲
[root@localhost opt]# cd /usr/local/maven/conf/ [root@localhost conf]# ls logging settings.xml toolchains.xml [root@localhost conf]# cp settings.xml settings.xml.bak [root@localhost conf]# vim settings.xml ####將下面這段代碼復制到相應代碼行即可 <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
安裝mysql,redis並配置
先配置mysql
[root@localhost opt]# mkdir /app 將mysql二進制包放進來后解壓 [root@localhost app]# tar -xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 改名 [root@localhost app]# mv mysql-5.7.20-linux-glibc2.12-x86_64/ mysql 設置變量 [root@localhost app]# vim /etc/profile export PATH=/app/mysql/bin:$PATH 激活變量 [root@localhost app]# source /etc/profile 查看版本,意味着變量設置成功 [root@localhost app]# mysql -V mysql Ver 14.14 Distrib 5.7.20, for linux-glibc2.12 (x86_64) using EditLine wrapper
添加mysql用戶,設置授權目錄並初始化
[root@localhost app]# useradd mysql [root@localhost app]# mkdir /data/mysql -p [root@localhost app]# chown -R mysql.mysql /app/* [root@localhost app]# chown -R mysql.mysql /data/* [root@localhost app]# mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql 2019-05-01T16:11:19.720627Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-05-01T16:11:23.737783Z 0 [Warning] InnoDB: New log files created, LSN=45790 2019-05-01T16:11:24.729527Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2019-05-01T16:11:24.842128Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: c48c1c90-6c2b-11e9-9c15-000c291d19ad. 2019-05-01T16:11:24.843849Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2019-05-01T16:11:24.846586Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. [root@localhost app]# cd /data/mysql/ [root@localhost mysql]# ll total 110628 -rw-r-----. 1 mysql mysql 56 May 2 00:11 auto.cnf -rw-r-----. 1 mysql mysql 419 May 2 00:11 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 May 2 00:11 ibdata1 -rw-r-----. 1 mysql mysql 50331648 May 2 00:11 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 May 2 00:11 ib_logfile1 drwxr-x---. 2 mysql mysql 4096 May 2 00:11 mysql drwxr-x---. 2 mysql mysql 8192 May 2 00:11 performance_schema drwxr-x---. 2 mysql mysql 8192 May 2 00:11 sys
添加配置文件
[root@localhost mysql]# vim /etc/my.cnf [root@localhost mysql]# mv /etc/my.cnf /opt/my.cnf.bak [root@localhost mysql]# vim /etc/my.cnf [mysqld] user=mysql basedir=/app/mysql datadir=/data/mysql server_id=6 port=3306 socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock prompt=3306 [\\d]> [root@localhost mysql]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]# service mysqld start|stop|restart ###這里和上一步是為了使用service命令控制服務, [root@localhost mysql]# vim /etc/systemd/system/mysqld.service ###如果上面的方式不爽,想用systemctl命令需要這樣設置 [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 [root@localhost mysql]# mysqladmin -uroot -p password 123456 Enter password: ###這里直接回車,因為初始狀態沒設置密碼 mysqladmin: [Warning] Using a password on the command line interface can be insecure. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. 在mysql中創建dblog庫即可; ##這里是項目需要dblog數據庫 3306 [(none)]>create database dblog charset utf8mb4; Query OK, 1 row affected (0.00 sec) 3306 [(none)]> [root@localhost ~]# mysql -uroot -p123456 dblog < /opt/DBlog/docs/db/dblog.sql mysql: [Warning] Using a password on the command line interface can be insecure. [root@localhost ~]# mysql -uroot -p123456 dblog < /opt/DBlog/docs/db/init_data.sql mysql: [Warning] Using a password on the command line interface can be insecure.
安裝配置redis
yum -y install redis [root@localhost opt]# vim /etc/redis.conf #編輯之前做好這個文件的備份,別問我為什么,這是運維的基本素養 61 bind 192.168.171.144 ###這個61是行數,設置服務器的ip,不要使用127.0.0.1的地址 479 equirepass 123456 ###479是行數,設置密碼 root@localhost opt]# systemctl restart redis [root@localhost opt]# ps -ef |grep redis redis 13042 1 0 00:52 ? 00:00:00 /usr/bin/redis-server 192.168.171.144:6379 root 13047 2452 0 00:52 pts/1 00:00:00 grep --color=auto redis
對項目開始動手了
[root@localhost config]# pwd /opt/DBlog/blog-core/src/main/resources/config [root@localhost config]# ll total 12 -rw-r--r--. 1 root root 855 May 1 23:44 application-center-dev.yml -rw-r--r--. 1 root root 855 May 1 23:44 application-center-test.yml -rw-r--r--. 1 root root 190 May 1 23:44 application-center.yml [root@localhost config]# vim application-center-dev.yml #只需修改數據庫的密碼,redis的鏈接地址和密碼即可 [root@localhost config]# vim application-center-test.yml #該文件和上面文件修改完全一樣,只截一張圖說明
[root@localhost DBlog]# ll total 80 drwxr-xr-x. 4 root root 64 May 2 01:08 blog-admin drwxr-xr-x. 4 root root 64 May 2 01:07 blog-core drwxr-xr-x. 4 root root 64 May 2 01:06 blog-file drwxr-xr-x. 4 root root 64 May 2 01:07 blog-web -rw-r--r--. 1 root root 138 May 1 23:44 build.sh -rw-r--r--. 1 root root 1341 May 1 23:44 contribution.md -rw-r--r--. 1 root root 1088 May 1 23:44 demo.md drwxr-xr-x. 4 root root 94 May 1 23:44 docs -rw-r--r--. 1 root root 35119 May 1 23:44 LICENSE -rw-r--r--. 1 root root 7064 May 1 23:44 pom.xml -rw-r--r--. 1 root root 10497 May 1 23:44 README.md -rw-r--r--. 1 root root 8962 May 1 23:44 update.md [root@localhost DBlog]# mvn -X clean package -Dmaven.test.skip=true -Ptest 前面省略 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 [DEBUG] (f) outputDirectory = /opt/DBlog/blog-admin/target [DEBUG] (f) project = MavenProject: com.zyd:blog-admin:2.2.1 @ /opt/DBlog/blog-admin/pom.xml [DEBUG] (f) skip = false [DEBUG] -- end configuration -- [INFO] Layout: JAR [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] blog ............................................... SUCCESS [ 6.824 s] [INFO] blog-file .......................................... SUCCESS [ 53.569 s] [INFO] blog-core .......................................... SUCCESS [ 54.581 s] [INFO] blog-web ........................................... SUCCESS [ 27.854 s] [INFO] blog-admin ......................................... SUCCESS [ 6.076 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:36 min [INFO] Finished at: 2019-05-02T01:08:16+08:00 [INFO] Final Memory: 59M/212M [INFO] ------------------------------------------------------------------------
開啟項目的前端和后台
[root@localhost DBlog]# cd blog-web/ [root@localhost blog-web]# ls pom.xml src target [root@localhost blog-web]# ll total 4 -rw-r--r--. 1 root root 1575 May 1 23:44 pom.xml drwxr-xr-x. 4 root root 30 May 1 23:44 src drwxr-xr-x. 6 root root 137 May 2 01:08 target [root@localhost blog-web]# java -jar target/blog-web.jar & ###前端 [root@localhost DBlog]# cd blog-admin/ [root@localhost blog-admin]# ll total 4 -rw-r--r--. 1 root root 1942 May 1 23:44 pom.xml drwxr-xr-x. 4 root root 30 May 1 23:44 src drwxr-xr-x. 6 root root 141 May 2 01:08 target [root@localhost blog-web]# java -jar target/blog-admin.jar & ###后台
測試環節:
瀏覽器檢查:
瀏覽器檢查(登錄用戶admin。密碼123456)
事實上,上面的命令僅能保證xshell不退出有效,一旦退出自動殺掉了進程,所以為了退出xhsell進程不殺死java進程,可以使用下面的命令。
在主目錄下使用下面兩條命令,可以自定義訪問端口,並且安全的放在后台 nohup java -jar blog-web/target/blog-web.jar --server.port=8000 2>&1 & nohup java -jar blog-admin/target/blog-admin-2.2.1.jar --server.port=8001 2>&1 &
后話:當我們去點擊無論是前端還是以后台時,服務器內部的日志信息會刷新,提示寫入redis緩存當中,等等這些,大有搞頭,小伙伴們有興趣可以試試。