天天看點

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

(一)第一部分:最基本的jar包運作(無需配置tomcat)

[

http://60.205.183.114:8081/] 1、配置 阿裡雲(Esc學生伺服器、鏡像Centos7.7)

,并遠端連接配接進入終端。

2、安裝并配置JDK(參考

https://www.jianshu.com/p/093413f2a04f) 申請阿裡雲服務時,可以使用 2000元阿裡雲代金券 ,阿裡雲官網領取網址: https://dashi.aliyun.com/site/yun/youhui

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密碼,對應于項目配置檔案中的密碼。 阿裡雲伺服器1核2G低至82元/年 ,阿裡雲官活動網址: https://dashi.aliyun.com/site/yun/aliyun

可以用20代金券,即102-20=82。

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傳檔案

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

運作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

Your MariaDB connection id is 5

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)

通路

http://60.205.183.114:8081/
阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

(二)第二部分:利用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的狀态

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

驗證是否開啟tomcat服務

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

将war包直接傳入webapp中

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

然後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

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

(三)第三部分:指定域名進行通路

http://crf.codes/]

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

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

驗證dns是否配置成功

ping crf.codes,可以看到

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程

修改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

阿裡雲 Centos7 部署Java web [jar/war/nginx+域名服務]教程