今日小編閒來無事,乘着公司新項目即將上線之際,在阿里雲上整了一臺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的週末吧~~
感謝關注「碼農星球」。本文版權屬於「碼農星球」。咱們提供諮詢和培訓服務,關於本文有任何困惑,請關注並聯系咱們。