【百人計劃】005 linux 實戰(zhàn) -- 搭建項目環(huán)境

想在虛擬機上搭建公司項目的測試環(huán)境天梧,問了開發(fā)邻眷,大概有幾步工作要做:

  1. 安裝虛擬機(略)
  2. 安裝CentOS7 操作系統(略)
  3. 安裝 jdk 1.8
  4. 安裝 mysql 5.7
  5. 安裝 Redis 4.0.6
  6. 安裝 Tomcat 7
  7. 安裝 Nginx

格式排版比較亂鼓鲁,后面再優(yōu)化翎嫡,話說這個圖片尺寸我一直不知道怎么弄,走過路過的大神指點下

參考博客:

https://www.cnblogs.com/xuliangxing/p/7066913.html(jdk)
https://blog.csdn.net/weixin_42266606/article/details/80863781(通過這篇文章知道了 vim 的好處)
https://blog.csdn.net/z13615480737/article/details/80019881(mysql)

3. 安裝 jdk

3.1 先查看系統有沒有自帶的openjdk

查看系統有沒有自帶的openjdk

3.2 下載 jdk 1.8

本來想下載 jdk1.7勉抓,后來發(fā)現怎么都不能成功贾漏,有說是1.7版本不存在了,所以用1.8版本藕筋。

直接通過 wget命令下載的文件無法正常解壓纵散,所以采用了另一種辦法,先在本機上訪問https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下載壓縮包隐圾,然后通過 FileZilla Client 將本機下載的文件上傳至 虛擬機服務器上伍掀。

image.png

3.3 解壓后設置jdk環(huán)境變量

vi /etc/profile

用 vi 編輯器來編輯profile文件,在文件末尾添加一下內容(按“i”進入編輯):

1 export JAVA_HOME=/usr/local/java/jdk1.8.0_201
2 export JRE_HOME=${JAVA_HOME}/jre
3 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
4 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
5 export PATH=$PATH:${JAVA_PATH}
image.png

保存并退出(按":wq!")暇藏。
通過命令 source /etc/profile 讓 profile 文件立即生效

3.4 測試是否安裝成功

①蜜笤、使用javac命令,不會出現command not found錯誤
②盐碱、使用java -version把兔,出現版本為java version "1.8.0_131"
③、echo $PATH瓮顽,看看自己剛剛設置的的環(huán)境變量配置是否都正確

4 安裝 mysql

4.1 參考文章:https://blog.csdn.net/z13615480737/article/details/80019881

4.1.1 安裝依賴

yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel

4.1.2 切換到 【/usr/local/src】目錄下

使用命令 cd /usr/local/src

4.1.3 下載安裝包

執(zhí)行命令 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar

(如果文中的下載鏈接失效了县好,可以參照下圖,找到最新的下載鏈接)


image.png

image.png

image.png

4.1.4 關于解壓

image.png

文中是直接在當前路徑【/usr/local/src】下解壓的暖混,所以解壓后文件名稱如下:

image.png

我使用了mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql 命令缕贡,將 【mysql-5.7.25-linux-glibc2.12-x86_64 mysql】這個文件夾名稱重新命名成 mysql,以保持跟后面的命令一致

image.png

4.1.5 安裝數據庫

在【/usr/local/mysql】路徑下儒恋,執(zhí)行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 命令。效果如下:

image.png

4.1.6 執(zhí)行以下命令創(chuàng)建RSA private key

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

4.1.7 修改當前目錄擁有者為mysql用戶

chown -R mysql:mysql ./

4.1.8 修改當前data目錄擁有者為mysql用戶

chown -R mysql:mysql data

4.1.9 配置my.cnf

vim /etc/my.cnf (直接把下面內容復制上就行)

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不區(qū)分大小寫 
lower_case_table_names = 1
#不開啟sql嚴格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

4.1.10添加開機啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

4.1.11 修改 vim /etc/init.d/mysqld

添加路徑

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

4.1.12 啟動mysql service mysqld start

由于第二次重裝 mysql黔漂,導致之前安裝的 mysql 還有進程在運行诫尽,使用 該命令啟動時,提示“The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid)”
查閱資料:
https://blog.csdn.net/ydyang1126/article/details/72473828
https://blog.csdn.net/qq_33528613/article/details/77743143

4.1.13 使用 ps -ef|grep mysqld 命令 確認

image.png

使用 【kill -9 進程號 】命令炬守,再次執(zhí)行service mysqld start 命令牧嫉,成功。

4.1.14 加入開機起動

chkconfig --add mysqld

4.1.15 登錄修改密碼

mysql -uroot -p

如果出現錯誤 需要添加軟連接

ln -s /usr/local/mysql/bin/mysql /usr/bin

(軟連接是個好東西)

image.png

4.2 遇到的問題

以下是第一次安裝出現的問題减途,可以看到目錄還是【mysql-5.7.25-linux-glibc2.12-x86_64】酣藻,沒有重命名成 mysql

報錯1:執(zhí)行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 命令時,提示找不到文件鳍置。

image.png

(?_?)?原因

當前處在 mysql 目錄下辽剧,沒有進入 【mysql-5.7.25-linux-glibc2.12-x86_64】目錄。

解決辦法

執(zhí)行 cd mysql-5.7.25-linux-glibc2.12-x86_64 命令税产,進入該目錄下怕轿,再執(zhí)行上面的命令偷崩;

報錯2:1個ERROR+5個警告

重點

“Can't find error-message file '/usr/local/mysql/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.”

image.png

(?_?)?原因

我的解壓文件夾【mysql-5.7.25-linux-glibc2.12-x86_64】的位置是在 /usr/local/mysql 目錄下,而命令中指定的basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 都是直接到mysql文件夾撞羽,可以觀察到我的/usr/local/mysql 文件夾下沒有data文件夾阐斜,data文件夾是在 我的解壓文件夾【mysql-5.7.25-linux-glibc2.12-x86_64】下的,因此诀紊,需要重新修改下路徑

image.png

解決辦法

修改命令如下bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.25-linux-glibc2.12-x86_64 --datadir=/usr/local/mysql/mysql-5.7.25-linux-glibc2.12-x86_64/data


image.png

可以看到谒出,重新執(zhí)行命令后,沒有 error 提示了邻奠,同時笤喳,bin 和 data 文件夾在同一個目錄下,刪除掉原先的 data 文件夾


image.png

報錯3:登錄 mysql 惕澎,允許 show databases; 命令報錯

image.png

(?_?)?原因

初始化MySQL時生成的隨機密碼莉测,只能用于初次登錄。如果你要使用SQL語句作其他操作唧喉,就要修改密碼后才能進行了捣卤。否則會報錯“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”。

解決辦法

參考:https://jingyan.baidu.com/article/5553fa82a9858365a23934e1.html
通過SET指令修改密碼八孝。

SET PASSWORD=PASSWORD('newpassword');

到此MySQL就安裝完畢了董朝,可以愉快的使用MySQL提供的服務了。

5. 安裝 Redis

參考文檔:

https://www.cnblogs.com/zuidongfeng/p/8032505.html
https://blog.csdn.net/u010623954/article/details/80037078
https://www.cnblogs.com/zk1023/p/9465430.html

5.1 下載 redis 安裝包

在【/usr/local/src】目錄下執(zhí)行 wget http://download.redis.io/releases/redis-4.0.6.tar.gz

5.2 解壓壓縮包

tar -zxvf redis-4.0.6.tar.gz

5.3 將文件復制到 【/usr/local】目錄下

cp -r redis-4.0.6 /usr/local

5.4 安裝gcc依賴

yum install gcc

之前安裝 mysql時已經安裝過依賴了干跛,所以這里會提示已存在子姜,可忽略。

5.5 跳轉到redis解壓目錄下

cd redis-4.0.6

5.6 編譯安裝

make MALLOC=libc

5.7 將/usr/local/redis-4.0.6/src目錄下的文件加到/usr/local/bin目錄

cd src && make install

5.8 啟動redis楼入,測試是否安裝成功

cd /usr/local/redis-4.0.6/src/
./redis-server

redis啟動成功哥捕,但是這種啟動方式需要一直打開窗口,不能進行其他操作嘉熊,不太方便遥赚,按 ctrl + c 關閉窗口。

5.9 配置redis

5.9.1 以后臺進程方式啟動

<1>.修改/usr/local/redis-4.0.9/redis.conf: daemonize no 將值改為yes 阐肤,保存凫佛,退出
<2>. vim redis.conf
<3>. cat redis.conf |grep "daemonize"

5.9.2 指定redis.conf文件啟動

./redis-server /usr/local/redis-4.0.6/redis.conf

image.png

5.9.3 設置redis遠程連接:

a.因為redis默認設置允許本地連接,所以我們要將redis.conf中將bind 127.0.0.1 改為bind 0.0.0.0或者注釋該行
b.另外孕惜,阿里云ECS有一個安全組愧薛,找到并添加規(guī)則允許6379端口訪問

設置redis連接密碼:

在redis.conf中搜索requirepass這一行,然后在合適的位置添加配置
找到 #requirepass foobared去掉注釋衫画,foobared改為自己的密碼 例如這里我改成123456

設置完成后執(zhí)行/usr/local/bin/redis-server /usr/local/redis-4.0.6/redis.conf 更新配置


image.png

5.9.4 關閉redis進程

<1>使用ps -aux | grep redis查看redis進程

image.png

<2>使用kill命令殺死進程

image.png

5.9.5 設置開機自啟動

<1>. 在/etc目錄下新建redis目錄
mkdir redis
<2>. 將/usr/local/redis-4.0.6/redis.conf 文件復制一份到/etc/redis目錄下毫炉,并命名為6379.conf
cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf
<3>. 將redis的啟動腳本復制一份放到/etc/init.d目錄下
cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
<4>. 設置redis開機自啟動
切換到/etc/init.d目錄下
執(zhí)行自啟命令
chkconfig redisd on

image.png

<5>. 現在可以直接已服務的形式啟動和關閉redis了
啟動:service redisd start 
關閉:service redisd stop
<6>. 報錯
/var/run/redis_6379.pid exists, process is already running or crashed

image.png

解決辦法
參考資料:[http://blog.csdn.net/luozhonghua2014/article/details/54649295]

①:用安裝文件啟動 redis-server /etc/redis/6379.conf
②:shutdown -r now 軟重啟讓系統自動恢復下

<7>. 開啟redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use
參考文章:https://blog.csdn.net/guo13313/article/details/70666453
第一步:找到進程

ps -ef | grep -i redis

第二步:殺死進程

kill -9 進程號

第三步:重新啟動redis服務器

./redis-server
image.png

但是又出現了/var/run/redis_6379.pid exists, process is already running or crashed,最終找到另一篇文章:
https://blog.csdn.net/weixin_43462069/article/details/87015642

直接刪除了

5.10 用可視化工具連接 redis

參考文章:https://www.cnblogs.com/shihuibei/p/9256397.html

工具:RedisDesktopManager
主機 ip:用虛擬機 ip addr 命令查看
Auth :就是 redis.conf 文件中設置的“#requirepass foobared去掉注釋削罩,foobared改為自己的密碼”


image.png

5.11 測試redis是否安裝成功

參考文章:http://www.cnblogs.com/wenqiang/p/5506744.html

6. 安裝 tomcat 7

參考文章:https://blog.51cto.com/13525470/2073657

6.1 下載源碼安裝包

6.1.1 找到下載地址:

image.png

6.1.2 下載:

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz

6.1.3 解壓

tar xvf apache-tomcat-7.0.94.tar.gz -C /usr/local/

6.1.4 移動

mv /usr/local/apache-tomcat-7.0.94/ /usr/local/tomcat/

image.png

image.png

6.1.5 重新命名文件路徑

/usr/local/tomcat_cluster/tomcat1

參考 https://blog.csdn.net/loveer0/article/details/82591266 中的集群概念碘箍。

6.2 配置Tomcat 環(huán)境變量

6.2.1 定義在單個tomcat的啟動和關閉程序里

執(zhí)行命令1:vim /usr/local/tomcat/bin/startup.sh
執(zhí)行命令2:vim /usr/local/tomcat/bin/shutdown.sh

代碼如下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export TOMCAT_HOME=/usr/local/tomcat_cluster/tomcat1
export CATALINA_HOME=${TOMCAT_HOME}
export CLASS_PATH=.:${JAVA_HOME}/bin/lib:${JAVA_HOME}/jre/lib:${JAVA_HOME}/lib/tool.jar
export PATH=$PATH:${JAVA_HOME}/bin:${TOMCAT_HOME}/bin

執(zhí)行命令3:vim /etc/profile
也加上這段代碼


image.png

執(zhí)行命令4:. /etc/profile

6.2 測試是否安裝成功

在瀏覽器地址欄輸入 http://ip:8080訪問

image.png

7. 安裝 Nginx

參考文章:https://www.cnblogs.com/boonya/p/7907999.html

7.1 安裝 PCRE pcre-devel

yum install -y pcre pcre-devel

7.2 安裝 zlib

yum install -y zlib zlib-devel

7.3 安裝OpenSSL

yum install -y openssl openssl-devel

7.4 下載 Nginx 源碼安裝包

去官網地址[https://nginx.org/en/download.html]下載 遵馆,找到穩(wěn)定版;
在 /usr/local/src 目錄下丰榴,執(zhí)行 wget https://nginx.org/download/nginx-1.14.2.tar.gz

7.5 解壓 货邓,編譯

tar -zxvf nginx-1.14.2.tar.gz 
cd nginx-1.14.2 
./configure
make
make install

7.6 啟動 Nginx

查找安裝路徑 whereis nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

參考文章:https://www.cnblogs.com/wyd168/p/6636529.html

80端口在安裝 Tomcat 時,被占用四濒,所以修改 Nginx 端口


image.png

關于解決端口被占用换况,重啟等操作,見https://www.cnblogs.com/boonya/p/7907999.html

image.png

效果如下:


image.png

7.6 設置開機自啟動

image.png

8. 配置 Nginx 指向某個靜態(tài)頁面

我在 /usr/local/nginx/html 目錄下新建了一個文件夾 webhis盗蟆,然后配置Nginx如下:


image.png

8.1 如何解壓 rar 文件

參考:https://www.cnblogs.com/qinglin/p/9007939.html

image.png

報錯:/usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

參考:https://blog.csdn.net/hjjhce/article/details/47751815

image.png

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末戈二,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子喳资,更是在濱河造成了極大的恐慌觉吭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仆邓,死亡現場離奇詭異鲜滩,居然都是意外死亡,警方通過查閱死者的電腦和手機节值,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門徙硅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人搞疗,你說我怎么就攤上這事嗓蘑。” “怎么了匿乃?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵桩皿,是天一觀的道長。 經常有香客問我幢炸,道長泄隔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任阳懂,我火速辦了婚禮梅尤,結果婚禮上柜思,老公的妹妹穿的比我還像新娘岩调。我一直安慰自己,他們只是感情好赡盘,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布号枕。 她就那樣靜靜地躺著,像睡著了一般陨享。 火紅的嫁衣襯著肌膚如雪葱淳。 梳的紋絲不亂的頭發(fā)上钝腺,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音赞厕,去河邊找鬼艳狐。 笑死,一個胖子當著我的面吹牛皿桑,可吹牛的內容都是我干的毫目。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼诲侮,長吁一口氣:“原來是場噩夢啊……” “哼镀虐!你這毒婦竟也來了?” 一聲冷哼從身側響起沟绪,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤刮便,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绽慈,有當地人在樹林里發(fā)現了一具尸體恨旱,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年久信,在試婚紗的時候發(fā)現自己被綠了窖杀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡裙士,死狀恐怖入客,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情腿椎,我是刑警寧澤桌硫,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站啃炸,受9級特大地震影響铆隘,放射性物質發(fā)生泄漏。R本人自食惡果不足惜南用,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一膀钠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裹虫,春花似錦肿嘲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匣屡,卻和暖如春封救,著一層夾襖步出監(jiān)牢的瞬間拇涤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工誉结, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鹅士,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓惩坑,卻偏偏與公主長得像如绸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旭贬,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容