技術雜記之:在阿里雲centos7上部署JDK MYSQL TOMCAT

        今日小編閒來無事,乘着公司新項目即將上線之際,在阿里雲上整了一臺centos做爲測試機。本來覺得一個小時搞定,結果仍是花了一點小小時間。無論怎麼說,記錄下來,給各位小白當成課後甜點吧。java

價格mysql

        先上價格,809.4RMB。linux

        這個價格也就是一頓大餐的事情,BUT,做爲程序員的你,將來的一年這臺機器都是屬於你的了哦。固然,配置低是低了點,可是好歹它是一臺具有公網地址,功能齊全的centos7啊。總之,你想怎麼造就怎麼造,只要不用來幹壞事就行。程序員

關閉防火牆web

        因爲這臺測試機咱們要幹不少事情,因此上來的第一件事情是關閉防火牆,以下:sql

        systemctl stop firewalld數據庫

        而後,開機禁用,apache

        systemctl disable firewalldcentos

        注意了,systemctl是CentOS7的服務管理工具,小編不妨把一些經常使用的命令羅列在這裏吧,tomcat

        啓動: systemctl start firewalld

        關閉: systemctl stop firewalld

        查看狀態: systemctl status firewalld 

        開機禁用  : systemctl disable firewalld

        開機啓用  : systemctl enable firewalld

        啓動一個服務:systemctl start firewalld.service

        關閉一個服務:systemctl stop firewalld.service

        重啓一個服務:systemctl restart firewalld.service

        顯示一個服務的狀態:systemctl status firewalld.service

        在開機時啓用一個服務:systemctl enable firewalld.service

        在開機時禁用一個服務:systemctl disable firewalld.service

        查看服務是否開機啓動:systemctl is-enabled firewalld.service

        查看已啓動的服務列表:systemctl list-unit-files|grep enabled

開啓8080端口

        咱們暫時並不打算使用80端口提供服務,因此,就打算將tomcat的8080做爲web服務提供端口。可是,阿里雲默認是不開啓這個端口的,那怎麼辦呢,去控制檯開啓吧。

        在ecs的列表界面,點更多->安全組配置,

        這是具體的配置規則

        配置完畢後,咱們在家中的沙發上就能夠去訪問8080上的服務了。固然了,咱們得首先配置JDK和TOMCAT不是麼。

安裝JDK

        考慮到咱們的項目使用的是1.8開發的,因此,jdk就使用jdk1.8.0_151了。不要嫌棄小編,小編知道如今是JDK12了,可是奈何客戶喜歡1.8啊。

        tar –xvf jdk-8u151-linux-x64.tar.gz –C /usr/local/

        參數講解:

        -x:extract,解包

        -v:verbose,顯示打包解包詳細過程

        -f:file,後面要跟馬上被處理的壓縮包名

        -C:這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項;

        而後,vi /etc/profice,在最後加入這幾行:

        export JAVA_HOME=/opt/jdk1.8.0_151

        export PATH=${JAVA_HOME}/bin:$PATH

        export CATALINA_HOME=/opt/apache-tomcat-8.5.40

        export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${CATALINA_HOME}/lib

        export JRE_HOME=/opt/jdk1.8.0_151/jre

        你們看到了tomcat的參數,不要緊,由於咱們立刻還要安裝tomcat,因此我就一併提早錄入進去了。

        記住,若是你不想重啓,記得source /etc/profile。

        搞定以後,java -version一下,若是版本信息出來了,就說明安裝成功了。

安裝mysql

        首先,能夠到mysql的網站下載5.7.23的社區版。注意哦,小編本次的安裝的各個軟件所有都是官網下載的~

        解壓:

        tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

        Move到/usr/local下:

        mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local

        使用ln建立軟鏈接:

        ln -s /usr/local/ mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql

        參數講解:

        -s:soft,指軟鏈接

        添加用戶組

        sudo groupadd mysql

        添加用戶

        sudo useradd -r -g mysql -s /bin/false mysql

        注意,如今跑到mysql目錄下,手動建立mysql-files文件夾,而後修改權限,

        sudo chmod 750 mysql-files

        sudo chown -R mysql .

        sudo chgrp -R mysql .

        而後手動初始化data文件夾,以下:

        sudo bin/mysqld --initialize --user=mysql

        然而,並不能成功,提示咱們,安裝libaio。好說,裝之,

        yum install  libaio-devel.x86_64 -y

        以下:

        繼續初始化,獲得了密碼,以下,

        請把密碼記錄下來哦,不然接下來登陸不成功不要怪我~~

        心情安逸的啓動mysql,

        sudo ./ _safe --user=mysql &

        結果……發現啓動不了,提示咱們缺乏了日誌文件,以下,

        mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

        那既然這樣,咱們就去手動建立日誌吧,

        mkdir /var/log/mariadb 

        touch /var/log/mariadb/mariadb.log 

        chown -R mysql:mysql /var/log/mariadb/

        建立完畢,發現仍是啓動失敗,使用netstat -ntlp查看3306壓根沒在監聽。

        這個時候,剛纔建立的mariadb.log日誌就起大做用了,去查,發現沒有pid文件,以下:

        是的,我可能何時操做過強制關機致使pid文件丟失。那解決辦法是首先去/etc/my.cnf 中查看pid-file的位置,以下,

        在小編的機器中,這個文件位置是pid-file=/var/run/mariadb/mariadb.pid

        一樣,讓咱們手動建立對應的目錄並修改權限

        mkdir -p /var/run/mariadb

        chown mysql.mysql /var/run/mariadb

        這時能夠嘗試重啓mysql了,若是還不行繼續則繼續建立一個pid文件並修改權限

        touch /var/run/mariadb/mysqld.pid

        chown mysql.mysql /var/run/mariadb/mysqld.pid

        再次啓動MySQL。就沒有問題了。

        如今,使用mysql -uroot -p登陸,結果仍是有問題:

        奔潰ing……

        沒辦法了,讓咱們繼續查找mysql.sock在哪裏,

        find / -name mysql.sock

        結果發現是在/var/lib/mysql/mysql.sock。好的,讓咱們帶上這個路徑,以下:

        ./mysql -uroot -p -S /var/lib/mysql/mysql.sock

        啓動成功。

        輸入最開始的初始化密碼,登陸成功以後,讓咱們第一件事情就是修改初始密碼,以下:

        mysql> SET PASSWORD = PASSWORD('新密碼');

        mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

        mysql> flush privileges;

        而後,順便查一下mysql默認的數據庫吧:

        show databases;

安裝tomcat

        肯定版本。8.5。

        一樣下載回來解壓。注意哦,環境變量咱們已經配置好了。

        使用su命令切換到root模式下。進入tomcat安裝目錄的bin,運行命令:

        ./startup.sh

        噹噹噹,大功告成。

        且慢,爲何tomcat啓動了,可是外網要能訪問到tomcat站點還得花不少分鐘呢?

        注意,這個問題致使小編一直覺得前面某個環節配置有問題,浪費了很多時間。通過查看日誌,發現是由於session所對應的隨機數問題所致使。要解決這個問題,安裝rngd服務,增大熵池便可。以下,

        yum install rng-tools 

        systemctl start rngd  # 啓動服務

        ok,如今纔是真正的大功告成,你們過個happy的週末吧~~

        感謝關注「碼農星球」。本文版權屬於「碼農星球」。咱們提供諮詢和培訓服務,關於本文有任何困惑,請關注並聯系咱們。

相關文章
相關標籤/搜索