(一)第一部分:最基本的jar包運行(無需配置tomcat)
- 1、配置阿里雲(Esc學生服務器、鏡像Centos7.7),並遠程連接進入終端。
- 2、安裝並配置JDK(參考https://www.jianshu.com/p/093413f2a04f)
a)安裝jdk。
b)尋找jdk路徑配置環境變量。
c)簡單的Java hello world測試確保安裝成功。
- 3、安裝並配置mysql(mariadb)(參考https://blog.csdn.net/DaSo_CSDN/article/details/54754936)
a)安裝mysql、mariadb server。
b)systemctl 開啓服務。
c) 打開端口。(阿里雲要在控制檯打開,參考https://yq.aliyun.com/articles/701181)
d) 更改mysql 的root密碼,對應於項目配置文件中的密碼。
- 4、利用scp進行文件傳輸(參考https://www.cnblogs.com/tugenhua0707/p/8278772.html)
a)傳輸spring maven 的快照版本用於測試。
b)傳輸數據庫sql文件。
- 5、導入數據庫
a)創建sql文件對應的數據庫。
b)利用文件重定向運行sql文件。
c)檢查數據庫是否導入成功
- 6、運行jar文件,控制檯獲取公網IP,本機輸入IP:8081測試。
- 7、設置後臺運行(已設置:http://60.205.183.114:8081/)
a)contrl+c中止。
b)然後通過nohup 和 & 來後臺運行。
c)ps通過pid來停止後臺運行進程。
運行結果
整體過程:
[root@iZ2ze4r3b4xcztbcsey08cZ ~]# history
1 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
2 yum install -y mysql
3 yum install -y mariadb-server mariadb
4 systemctl start mariadb
5 systemctl enable mariadb
6 yum install -y mysql-devel
7 firewall-cmd --zone=public --add-port=3306/tcp --permanent
8 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
9 ls
10 ifconfig
11 ls
12 yum list
13 java -version
14 ls
15 yum search java-1.8
16 yum -y install java-1.8.0-openjdk-devel.x86_64
17 java -version
18 cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/
19 pwd
20 vim /etc/profile
21 . /etc/profile
22 vim Demo.java
23 javac Demo.java
24 java Demo
25 su
26 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
27 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
28 mysql -u root
29 ls
30 pwd
31 ifconfig
32 ls
33 mysql
34 mysql -u root jpetstore < jpetstore.sql
35 mariadb
36 mysql
37 java -jar mypetstore-0.0.3-SNAPSHOT.jar
38 nohup java -jar mypetstore-0.0.3-SNAPSHOT.jar &
39 ps
40 history
[root@iZ2ze4r3b4xcztbcsey08cZ ~]#
控制檯開端口
利用scp傳文件
運行mysql 文件
[root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database jpetstore;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> quit
Bye
[root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql -u root jpetstore < jpetstore.sql
[root@iZ2ze4r3b4xcztbcsey08cZ ~]# mariadb
-bash: mariadb: command not found
[root@iZ2ze4r3b4xcztbcsey08cZ ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jpetstore |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> use jpetstore;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [jpetstore]> show tables;
+---------------------+
| Tables_in_jpetstore |
+---------------------+
| account |
| addlog |
| bannerdata |
| browselog |
| cart |
| cartitem |
| category |
| inventory |
| item |
| lineitem |
| orders |
| orderstatus |
| product |
| profile |
| sequence |
| signon |
| supplier |
+---------------------+
17 rows in set (0.00 sec)
(二)第二部分:利用Tomcat容器對war包進行處理(需要Tomcat)
[http://60.205.183.114:8080/myJPetStore_war/index.jsp]
- 1、安裝Tomcat(參考https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7)
a)本地下載tomcat,然後利用scp文件傳輸
b)設置訪問權限
c)設置服務配置
d)輸入IP:8080測試是否已經開啓服務
- 2、數據庫/端口配置
a)數據庫root 密碼 和服務器對應
b)端口配置,在上面已經開啓了8080端口
- 3、利用scp傳輸war包,放到webapp裏邊(直接會解析出文件)
- 4、重啓tomcat服務
a)bin下的shutdown.sh
b)bin下的startup.sh
- 5、本機測試訪問
a)注意要添加訪問的資源的路徑/myJPetStore_war/index.jsp,然後tomcat容器會自動到webapp下去尋找
b) 已設置tomcat容器:http://60.205.183.114:8080/myJPetStore_war/index.jsp
運行結果
整體過程
52 ls
53 sudo mkdir /opt/tomcat
54 sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
55 cd /opt/tomcat
56 sudo chgrp -R tomcat /opt/tomcat
57 sudo chmod -R g+r conf
58 sudo chmod g+x conf
59 sudo chown -R tomcat webapps/ work/ temp/ logs/
60 sudo vi /etc/systemd/system/tomcat.service
61 sudo systemctl daemon-reload
62 sudo systemctl start tomcat
63 sudo systemctl status tomcat
64 sudo systemctl enable tomcat
65 ls
66 cd webapps/
67 pwd
68 ls
69 sudo systemctl restart tomcat
70 cd ../bin/
71 ls
72 sh shutdown.sh
73 sh startup.sh
74 history
[root@iZ2ze4r3b4xcztbcsey08cZ bin]#
利用systemctl查看tomcat的狀態
驗證是否開啓tomcat服務
將war包直接傳入webapp中
然後webapp會自動解析war包(即myJPetStore_war)
[root@iZ2ze4r3b4xcztbcsey08cZ webapps]# pwd
/opt/tomcat/webapps
[root@iZ2ze4r3b4xcztbcsey08cZ webapps]# ls
docs examples host-manager manager myJPetStore_war myJPetStore_war.war ROOT
訪問http://60.205.183.114:8080/myJPetStore_war/index.jsp
(三)第三部分:指定域名進行訪問
- 1、配置virmach vps,達到可以通過IP進行訪問
a)過程同第一步,最後設置爲後臺運行。
b) 已配置:http://198.12.120.212:8081/
- 2、服務器安裝web server (安裝nginx,參考http://blog.kenyang.net/2019/02/26/upgrade-nginx-to-latest-version-on-centos)
- 3、在域名提供商 name(或者cloudflare)進行DNS域名解析,進行請求中轉。
a)ping 域名(ping crf.codes
)查看是否綁定成功。 - 4、修改nginx 配置文件
a)Web server 設定域名
b)Location 配置index界面
c)開放Linux系統防火牆
d)訪問crf.code http://crf.codes/
運行結果
域名提供商(name)配置dns
驗證dns是否配置成功ping crf.codes
,可以看到
修改nginx配置文件
server {
listen 80;
server_name crf.codes;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location / {
# root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8081/;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
訪問crf.codes