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

想在虛擬機(jī)上搭建公司項(xiàng)目的測(cè)試環(huán)境,問了開發(fā),大概有幾步工作要做:

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

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

參考博客:

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 先查看系統(tǒng)有沒有自帶的openjdk

查看系統(tǒng)有沒有自帶的openjdk

3.2 下載 jdk 1.8

本來(lái)想下載 jdk1.7,后來(lái)發(fā)現(xiàn)怎么都不能成功,有說是1.7版本不存在了,所以用1.8版本。

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

image.png

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

vi /etc/profile

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

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 測(cè)試是否安裝成功

①、使用javac命令,不會(huì)出現(xiàn)command not found錯(cuò)誤
②、使用java -version,出現(xiàn)版本為java version "1.8.0_131"
③、echo $PATH,看看自己剛剛設(shè)置的的環(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 關(guān)于解壓

image.png

文中是直接在當(dāng)前路徑【/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】這個(gè)文件夾名稱重新命名成 mysql,以保持跟后面的命令一致

image.png

4.1.5 安裝數(shù)據(jù)庫(kù)

在【/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 修改當(dāng)前目錄擁有者為mysql用戶

chown -R mysql:mysql ./

4.1.8 修改當(dāng)前data目錄擁有者為mysql用戶

chown -R mysql:mysql data

4.1.9 配置my.cnf

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

[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嚴(yán)格模式
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添加開機(jī)啟動(dòng)

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 啟動(dòng)mysql service mysqld start

由于第二次重裝 mysql,導(dǎo)致之前安裝的 mysql 還有進(jìn)程在運(yùn)行,使用 該命令啟動(dòng)時(shí),提示“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 命令 確認(rèn)

image.png

使用 【kill -9 進(jìn)程號(hào) 】命令,再次執(zhí)行service mysqld start 命令,成功。

4.1.14 加入開機(jī)起動(dòng)

chkconfig --add mysqld

4.1.15 登錄修改密碼

mysql -uroot -p

如果出現(xiàn)錯(cuò)誤 需要添加軟連接

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

(軟連接是個(gè)好東西)

image.png

4.2 遇到的問題

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

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

image.png

(?_?)?原因

當(dāng)前處在 mysql 目錄下,沒有進(jìn)入 【mysql-5.7.25-linux-glibc2.12-x86_64】目錄。

解決辦法

執(zhí)行 cd mysql-5.7.25-linux-glibc2.12-x86_64 命令,進(jìn)入該目錄下,再執(zhí)行上面的命令;

報(bào)錯(cuò)2:1個(gè)ERROR+5個(gè)警告

重點(diǎn)

“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 提示了,同時(shí),bin 和 data 文件夾在同一個(gè)目錄下,刪除掉原先的 data 文件夾


image.png

報(bào)錯(cuò)3:登錄 mysql ,允許 show databases; 命令報(bào)錯(cuò)

image.png

(?_?)?原因

初始化MySQL時(shí)生成的隨機(jī)密碼,只能用于初次登錄。如果你要使用SQL語(yǔ)句作其他操作,就要修改密碼后才能進(jìn)行了。否則會(huì)報(bào)錯(cuò)“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提供的服務(wù)了。

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 將文件復(fù)制到 【/usr/local】目錄下

cp -r redis-4.0.6 /usr/local

5.4 安裝gcc依賴

yum install gcc

之前安裝 mysql時(shí)已經(jīng)安裝過依賴了,所以這里會(huì)提示已存在,可忽略。

5.5 跳轉(zhuǎn)到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 啟動(dòng)redis,測(cè)試是否安裝成功

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

redis啟動(dòng)成功,但是這種啟動(dòng)方式需要一直打開窗口,不能進(jìn)行其他操作,不太方便,按 ctrl + c 關(guān)閉窗口。

5.9 配置redis

5.9.1 以后臺(tái)進(jìn)程方式啟動(dòng)

<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文件啟動(dòng)

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

image.png

5.9.3 設(shè)置redis遠(yuǎn)程連接:

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

設(shè)置redis連接密碼:

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

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


image.png

5.9.4 關(guān)閉redis進(jìn)程

<1>使用ps -aux | grep redis查看redis進(jìn)程

image.png

<2>使用kill命令殺死進(jìn)程

image.png

5.9.5 設(shè)置開機(jī)自啟動(dòng)

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

image.png

<5>. 現(xiàn)在可以直接已服務(wù)的形式啟動(dòng)和關(guān)閉redis了
啟動(dòng):service redisd start 
關(guān)閉:service redisd stop
<6>. 報(bào)錯(cuò)
/var/run/redis_6379.pid exists, process is already running or crashed

image.png

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

①:用安裝文件啟動(dòng) redis-server /etc/redis/6379.conf
②:shutdown -r now 軟重啟讓系統(tǒng)自動(dòng)恢復(fù)下

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

ps -ef | grep -i redis

第二步:殺死進(jìn)程

kill -9 進(jìn)程號(hào)

第三步:重新啟動(dòng)redis服務(wù)器

./redis-server
image.png

但是又出現(xiàn)了/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
主機(jī) ip:用虛擬機(jī) ip addr 命令查看
Auth :就是 redis.conf 文件中設(shè)置的“#requirepass foobared去掉注釋,foobared改為自己的密碼”


image.png

5.11 測(cè)試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 移動(dòng)

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 定義在單個(gè)tomcat的啟動(dòng)和關(guān)閉程序里

執(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 測(cè)試是否安裝成功

在瀏覽器地址欄輸入 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 源碼安裝包

去官網(wǎng)地址[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 啟動(dòng) 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 時(shí),被占用,所以修改 Nginx 端口


image.png

關(guān)于解決端口被占用,重啟等操作,見https://www.cnblogs.com/boonya/p/7907999.html

image.png

效果如下:


image.png

7.6 設(shè)置開機(jī)自啟動(dòng)

image.png

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

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


image.png

8.1 如何解壓 rar 文件

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

image.png

報(bào)錯(cuò):/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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容