一、阿里雲服務器申請與基本配置
阿里雲學生機申請(by 2020.03.09)
終於申請到了阿里雲半年免費的學生主機,附帶給阿里雲的此次活動打一波廣告:學生"在家實踐"計劃:免費六個月,到期時前一個月通過考試可再免費續費一個月。
此次活動推出的套餐十分優厚:2核4G內存、40G硬盤配置的服務器。
選擇的系統爲CentOS7.7,這應該也是java web生產環境中的主流運維環境。
阿里雲ECS( Elastic Compute Service)基本配置(by 2020.03.21)
打開阿里雲官網,找到個人用戶的控制檯(https://homenew.console.aliyun.com/),找到對應的已開通的ECS服務器的控制檯(https://ecs.console.aliyun.com/#/home),進行配置。
初次使用需要注意配置的面板和選項主要有:
“實例與鏡像”中的實例(主要是實例名稱、內外網IP地址等信息);
“網絡與安全”中的安全組(需配置控制訪問相關的安全組策略,一般System created rule有SSH相關的22端口,網絡層的ICMP報文,還有個不知道做啥的3389/3389端口,授權對象可爲網段地址或者某一具體的IP地址,0.0.0.0/0匹配爲全網段IP地址),使用安全組開啓端口映射配置內外網訪問(端口映射都需要在阿里雲的面板安裝!)
本地SSH等管理工具配置
三種SSH方案:
- Putty/SecureCRT+WinSCP
- Xshell+XFTP:阿里雲ECS建網站(建站)超詳細全套完整圖文教程 該貼裏面有Xshell+XFTP詳細的使用教程,
- MobaXterm:集成本地SSH管理+文件管理工具於一體,使用更爲方便。
二、JAVA Web後臺開發環境配置(by 2020.03.22)
兩種配置方案:
- 一站式(傻瓜式):先安裝BT面板後通過BT面板進行Tomcat+Nginx+MySQL等組件的安裝,注意對應的JDK需要自己手動配置
- 原生命令式:JDK+Tomcat+Nginx+MySQL各自手動安裝
Oracle JDK配置
無論哪種配置策略都需要先進行配置JDK,JDK一般有開源版的OpenJDK和商用版Oracle JDK,這兩者都是Oracle公司的產品,OpenJDK 爲Oracle JDK的精簡版,OpenJDK配置簡單,一般所有的Linux系統都有Oracle官方維護的source,每半年更新一個新版本;Oracle JDK必須要手動配置,這裏使用商用版Oracle JDK,個人開發調試也無需收費。
使用Oracle JDK 版本爲:jdk-8u172-linux-x64.tar.gz ,Oracle官方地址非穿牆下載跟蝸牛爬一樣, 附上百度雲網盤備份鏈接(https://pan.baidu.com/s/1q6Boz_6gZy_h6AenX52CCw 提取碼: 9bjx)。
參照博文鏈接3和鏈接4中的方法進行配置與安裝:
#建立對應的文件夾:
mkdir -p /usr/java
#解壓JDK壓縮包:
mkdir -p /usr/java/jdk
tar zxvf jdk-8u172-linux-x64.tar.gz -C /usr/java/jdk
#配置JAVA環境變量:
vim /etc/profile
#profile文件末尾添加以下內容:
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_172
export JRE_HOME=/usr/java/jdk/jdk1.8.0_172/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
#保存profile文件並退出:
:wq
#激活配置生效
source /etc/profile
# 檢查JDK是否安裝成功
javac -version
Tomcat配置與安裝
根據參考鏈接6和鏈接7的官方文檔中最低JDK版本要求,選擇9.0.33版本的Tomcat。
#獲取apache-tomcat-9.0.33.tar.gz
cd /usr/java
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.33/bin/apache-tomcat-9.0.33.tar.gz
#解壓
mkdir -p tomcat
tar zxvf apache-tomcat-9.0.33.tar.gz -C tomcat
# 爲tomcat添加classpath
cd /usr/java/tomcat/apache-tomcat-9.0.33/bin/
vi setclasspath.sh
# 添加如下內容
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_172
export JRE_HOME=/usr/java/jdk/jdk1.8.0_172/jre
# 保存退出
:wq
# 啓動tocat
./startup.sh
成功啓動後瀏覽器輸入http://對應的ip地址:8080/,查看是否tomcat安裝成功。(http://112.126.69.105:8080/)
三、一站式寶塔面板安裝Redis 5.0.8+MySQL 5.7.29+Apache 2.4.41+Nginx 1.17.8
第一步: 安裝寶塔面板
根據官方的寶塔Linux面板安裝教程,
#安裝linux寶塔面板
cd /home/
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
第二步:配置安全組策略,修改用戶密碼配置
打開https://ecs.console.aliyun.com/配置8888端口外網入內開放。
新安裝的面板需要採取安全登錄的方式(第一次登錄會產生一個隨機賬號,需要自行在面板修改賬號密碼),如您沒修改或不記得了已經修改的賬號密碼,可以使用以下方式解決:
#1.查看面板入口:
/etc/init.d/bt default
#2.關閉安全入口:
rm -f /www/server/panel/data/admin_path.pl
隨後在登錄的面板配置處修改用戶密碼配置(http://112.126.69.105:8888/config ).
第三步:一站式安裝Redis 5.0.8+MySQL 5.7.29+Apache 2.4.41+Nginx 1.17.8
在軟件商店進行安裝即可。
Redis5.0.8
驗證是否安裝成功:
#切換到redis文件夾
[root@iZ2zed7j6gct099jz553l5Z ~]# cd /www/server/redis/
#執行 src/redis-cli
[root@iZ2zed7j6gct099jz553l5Z redis]# src/redis-cli
127.0.0.1:6379> ping
PONG #成功啓動
127.0.0.1:6379>
MySQL 5.7.29
點擊寶塔管理面板的數據庫面板(http://112.126.69.105:8888/database),修改默認root的密碼:
#啓動MySQL服務
[root@iZ2zed7j6gct099jz553l5Z /]# systemctl start mysqld.service
#查看MySQL服務狀態
[root@iZ2zed7j6gct099jz553l5Z redis]# systemctl status mysql.service
● mysqld.service - LSB: start and stop MySQL
Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
Active: active (running) since Thu 2020-03-26 16:12:33 CST; 30min ago
Docs: man:systemd-sysv-generator(8)
Process: 1049 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mysqld.service
├─1120 /bin/sh /www/server/mysql/bin/mysqld_safe --datadir=/www/server/data --pid-file=/www/server/data/iZ...
└─1938 /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/w...
Mar 26 16:12:31 iZ2zed7j6gct099jz553l5Z systemd[1]: Starting LSB: start and stop MySQL...
Mar 26 16:12:33 iZ2zed7j6gct099jz553l5Z mysqld[1049]: Starting MySQL..[ OK ]
Mar 26 16:12:33 iZ2zed7j6gct099jz553l5Z systemd[1]: Started LSB: start and stop MySQL.
#登錄MySQL,輸入對應的密碼
[root@iZ2zed7j6gct099jz553l5Z redis]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.29-log Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>#成功連接
Nginx 1.17.8
#驗證nginx是否配置成功
[root@iZ2zed7j6gct099jz553l5Z redis]# nginx -V
nginx version: nginx/1.17.8
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.1.1d 10 Sep 2019
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --add-module=srclib/ngx_devel_kit --add-module=srclib/lua_nginx_module --add-module=srclib/ngx_cache_purge --add-module=srclib/nginx-sticky-module --with-openssl=srclib/openssl111 --with-pcre=srclib/pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-http_dav_module --add-module=srclib/nginx-dav-ext-module
[root@iZ2zed7j6gct099jz553l5Z sbin]# ps -ef|grep nginx
root 1328 1 0 16:12 ? 00:00:00 nginx: master process /www/server/nginx/sbin/nginx -c /www/server/nginxconf/nginx.conf
www 5838 1328 0 21:01 ? 00:00:00 nginx: worker process
www 5839 1328 0 21:01 ? 00:00:00 nginx: worker process
www 5840 1328 0 21:01 ? 00:00:00 nginx: cache manager process
root 5849 2038 0 21:02 pts/0 00:00:00 grep --color=auto nginx
[root@iZ2zed7j6gct099jz553l5Z sbin]# ps -ef|grep httpd
root 5851 2038 0 21:02 pts/0 00:00:00 grep --color=auto httpd
[root@iZ2zed7j6gct099jz553l5Z sbin]# ps -ef|grep httpd
root 5870 1 0 21:03 ? 00:00:00 /www/server/apache/bin/httpd -k start
www 5871 5870 0 21:03 ? 00:00:00 /www/server/apache/bin/httpd -k start
www 5872 5870 0 21:03 ? 00:00:00 /www/server/apache/bin/httpd -k start
www 5873 5870 0 21:03 ? 00:00:00 /www/server/apache/bin/httpd -k start
root 6067 2038 0 21:04 pts/0 00:00:00 grep --color=auto httpd
[root@iZ2zed7j6gct099jz553l5Z sbin]#