在項目產(chǎn)品開發(fā)中洪己,開發(fā)環(huán)境搭建是軟件開發(fā)的首要階段,也是必須階段竟贯,只有開發(fā)環(huán)境搭建好了答捕,方可進行開發(fā),良好的開發(fā)環(huán)境搭建屑那,為后續(xù)的開發(fā)工作帶來極大便利噪珊。
對于大公司來說,軟件開發(fā)環(huán)境搭建工作一般是由運維來做齐莲,然而痢站,對于小公司來說,這個工作就交給開發(fā)人員來做了选酗,如開發(fā)經(jīng)理阵难。不管這個工作是交給運維人員做,還是
交給開發(fā)人員做芒填,能確定的是:做這件事的人呜叫,一定是個資深的人空繁,如此,方可讓開發(fā)環(huán)境穩(wěn)定運行朱庆,從而為后續(xù)的開發(fā)提供便利盛泡。
現(xiàn)實中,只有極少部分開發(fā)人員接觸服務(wù)器(能接觸的人娱颊,基本都是開發(fā)組長及其以上傲诵,或資深開發(fā),小公司除外)箱硕,然而拴竹,對于一個技術(shù)人員來說,服務(wù)器相關(guān)環(huán)境搭建是個必
不可少的環(huán)節(jié)剧罩,這就產(chǎn)生了一個矛盾:服務(wù)器相關(guān)搭建工作是程序員不可或缺技術(shù)栓拜,但大部分程序員又少接觸服務(wù)器。鑒于此惠昔,本篇文章將詳解這個專題幕与,對于沒搭建過服務(wù)器的開發(fā)
人員线椰,初中級開發(fā)人員簿寂,.NET轉(zhuǎn)java開發(fā)人員提供幫助。
本篇文章內(nèi)容包括:Linux理論與實操输钩,MySQL實操营罢,JDK實操赏陵,Tomcat實操和Tomcat實操。
一 Linux環(huán)境搭建
本小結(jié)側(cè)重于操作饲漾,主要內(nèi)容大致包括:
- 兩大類操作系統(tǒng)簡要介紹
- VMware Workstation Pro 15簡要介紹及安裝
- CentOS簡要介紹及基于Wi'n'dows 操作系統(tǒng)的安裝
(一 )關(guān)于操作系統(tǒng)的介紹
1.Windows 系統(tǒng)
Window操作系統(tǒng)蝙搔,是我們再熟悉不過的系統(tǒng)了。
- 客戶端操作系統(tǒng):windows xp(已過時)考传,win7吃型,win8,win10
- 服務(wù)器操作系統(tǒng):windows server 2008(R2),windows server 2012(R2),windows server 2016
2.Linux 系統(tǒng)
Linux系統(tǒng)是一款開源的多用戶操作系統(tǒng)(開源主要指它的內(nèi)核)僚楞,由于開源勤晚,從而衍生出不同版本Linux操作系統(tǒng)。它的內(nèi)核最初只是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出于個人愛好而編寫的泉褐。
它是一套免費使用和自由傳播的類Unix操作系統(tǒng)赐写,是一個基于POSIX和UNIX的多用戶、多任務(wù)膜赃、支持多線程和多CPU的操作系統(tǒng)挺邀。它能能運行主要的UNIX工具軟件、應用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件端铛。
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想泣矛,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
目前市面上較知名的發(fā)行版有:Ubuntu禾蚕、RedHat您朽、CentOS、Debian换淆、Fedora哗总、SuSE、OpenSUSE产舞、Arch Linux魂奥、SolusOS 等菠剩。從商業(yè)角度來說易猫,分為商業(yè)版(收費,如Rechart系列)和非商業(yè)版(免費具壮,如CentOS)准颓。
(二)虛擬機
關(guān)于虛擬機,當前有兩款比較流行:VMware Workstation 和 VirtualBox棺妓。
在本篇文章中攘已,我們將選擇VMware Workstation Pro 15(Wmware當前最新版本)作為演示虛擬機。
1.下載地址
官網(wǎng):https://www.vmware.com/products/workstation-pro.html怜跑。官網(wǎng)提供了兩種不同平臺的虛擬機样勃,即windows和linux。
2.序列號
GV7N2-DQZ00-4897Y-27ZNX-NV0TD
3.安裝步驟
=》下載虛擬機
由于本次演示是基于windows的性芬,因此下載windows版本的虛擬機
=》安裝
下載好的虛擬機安裝包如下峡眶,雙擊進行安裝。
注意:一般在安裝新軟件時植锉,盡量把殺毒軟件關(guān)閉辫樱。
彈出界面,選擇“下一步”
接受許可協(xié)議俊庇,下一步
選擇安裝路徑狮暑,選擇增強版(也可以不選),下一步
下一步
下一步
安裝
安裝中....
安裝結(jié)束辉饱,輸入許可證
輸入許可證
重啟電腦搬男,安裝完畢。
(三) CentOS
Linux鏡像官網(wǎng):https://www.centos.org/download/
從官網(wǎng)彭沼,可以看出提供了三種類型的CentOS鏡像:
1.DVD ISO:常用版本缔逛,包含大部分功能,大小為4.2G左右;
2.Everything ISO:功能最全版本译株,大小為8.8G左右瓜喇;
3.Minimal ISO:壓縮版本,大小為906M左右歉糜,很多功能需要在線安裝乘寒;
4.無論是哪個版本鏡像,均分為32位(x86)和64位(x64)匪补;
(四) 安裝CentOS
1.啟動虛擬機伞辛,文件=》新建虛擬機
典型,下一步
選擇安裝包夯缺,下一步
下一步
存儲單個文件蚤氏,下一步
自定義硬件配置
設(shè)置內(nèi)存為8G,關(guān)閉
完成
安裝準備中(等待60秒踊兜,自動安裝竿滨,不要操作鼠標)
準備中
選擇簡體中文(中國),繼續(xù)
基本配置結(jié)束后捏境,選擇開始安裝
安裝中
配置Root密碼
完成配置
重啟
登錄
注意:如果安裝可視化桌面于游,請按照如下步驟
軟件選擇
GNOME
登錄
桌面
二 MySQL安裝
1 搭建mysql
1.1 官網(wǎng)下載mysql壓縮包
下載壓縮包時,可以先把安裝包下載到本地垫言,再上傳到服務(wù)器贰剥,也可以在linux服務(wù)器上wget:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
官網(wǎng):https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.2 解壓gz壓縮包
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1.3 將壓縮包移動到 /usr/local/mysql/
mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysql
1.4 創(chuàng)建用戶組和添加用戶
groupadd mysql
useradd -r -g mysql mysql
1.5 將安裝目錄所有者及所屬組改為mysql,這個根據(jù)自己的目錄來
chown -R mysql.mysql /usr/local/mysql
1.6 在mysql目錄下創(chuàng)建data文件夾
mkdir data
1.7 初始化數(shù)據(jù)庫
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出現(xiàn)以下錯誤是因為5.7版本的初始化命令后面要加 --initialize筷频,如下:有任何疑問的話歡迎加入我的技術(shù)交流群:964357187
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
1.8 編輯配置文件
配置文件地址:/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
取消密碼驗證
//skip-grant-tables
Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.9 將mysql加入到服務(wù)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
1.10 開機啟動
chkconfig mysql on
1.11 啟動mysql
service mysql start
1.12 設(shè)置密碼
由于在第7步my.cnf配置文件中取消了密碼驗證蚌成,故登錄mysql不需要密碼驗證。
/usr/local/mysql/bin/mysql -uroot
無密碼登錄之后凛捏,修改密碼:
use mysql;
update user set authentication_string=password('root') where user='root';
或者#set password=password("root");
flush privileges;
exit
1.13 將第7步改為需要密碼驗證
1.14 添加遠程賬戶
使用root賬戶登錄担忧,并設(shè)置遠程登錄賬戶
GRANT ALL PRIVILEGES ON . to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019' WITH GRANT OPTION
1.15 防火墻設(shè)置
方式一:關(guān)閉防火墻
//停止
systemctl stop firewalld.service
//禁止開機啟動
systemctl disable firewalld.service
方式二:開啟端口
//這里發(fā)現(xiàn)防火墻是開啟的,再來查看防火墻控制的端口
systemctl status firewalld
//查看防火墻控制的端口葵袭,發(fā)現(xiàn)我想要監(jiān)聽的8081端口沒有開啟
firewall-cmd --list-all
//永久開啟3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重載防火墻
sudo firewall-cmd --reload
1.16 重啟mysql服務(wù)
service mysql start
1.17 相關(guān)命令
1 .安裝numactl和libaio
yum -y install numactl
yum search libaio
yum install libaio
2.配置環(huán)境變量
export PATH=$PATH:/usr/local/mysql/bin
3.啟動服務(wù)
方式一:服務(wù)方式
[root@localhost ~]service mysql start
如果服務(wù)在啟動狀態(tài)涵妥,直接重啟服務(wù)用以下命令:
[root@localhost ~]service mysql restart
方式二:命令行方式
[root@localhost bin]cd /usr/bin
[root@localhost bin]./mysqld_safe &
4.關(guān)閉服務(wù)
方式一:服務(wù)方式
[root@localhost ~]service mysql stop
方式二:命令行方式
[root@localhost ~]mysqladmin -u root shutdown
5.查看服務(wù)
方式一:
[root@localhost bin]ps -ef|grep mysql
方式二:
[root@localhost bin]netstat -nlp
6.進程查詢和殺死
(1) ps -ef |grep redis
ps:將某個進程顯示出來
-A 顯示所有程序。
-e 此參數(shù)的效果和指定"A"參數(shù)相同坡锡。
-f 顯示UID,PPIP,C與STIME欄位蓬网。
grep命令是查找
中間的|是管道命令 是指ps命令與grep同時執(zhí)行
這條命令的意思是顯示有關(guān)redis有關(guān)的進程
(2)kill[參數(shù)][進程號]
kill -9 4394
kill就是給某個進程id發(fā)送了一個信號。默認發(fā)送的信號是SIGTERM鹉勒,而kill -9發(fā)送的信號是SIGKILL帆锋,即exit。
exit信號不會被系統(tǒng)阻塞禽额,所以kill -9能順利殺掉進程锯厢。當然你也可以使用kill發(fā)送其他信號給進程皮官。
7.查看mysql
方法一:status;
方法二:select version();
2 卸載mysql
2.1 RPM包安裝方式的MySQL卸載
1.檢查是否安裝了MySQL組件
rpm -qa | grep -i mysql
2.卸載前關(guān)閉MySQL服務(wù)
service mysql status
service mysql stop
service mysql status
3.卸載刪除MySQL各類組件
rpm -ev 組件名
4.收集MySQL對應的文件夾信息
find / -name mysql
5.收集MySQL對應的文件夾信息
rm -rf 路徑/文件名
6.刪除mysql用戶及用戶組
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
more /etc/group | grep mysql
userdel mysql
groupdel mysql
7.確認MySQL是否卸載刪除
rpm -qa | grep -i mysql
2.2 yum包安裝方式的MySQL安裝
1.查看yum上提供的數(shù)據(jù)庫可下載版本
yum list | grep mysql
2.安裝mysql.i686,mysql-devel.i686实辑,mysql-server.i686
yum -y install mysql mysql-server mysql-devel
3.查看是否開機啟動
chkconfig --list | grep mysqld
4.設(shè)置為開機啟動
chkconfig mysqld on
5.設(shè)置數(shù)據(jù)庫密碼
service mysqld start
mysqladmin -u root -p password 'root'
2.3 service mysql start出錯:unrecognized service的解決辦法
[root@ctohome.com ~]# service mysql start
mysql: unrecognized service
[root@ctohome.com ~]# service mysql restart
mysql: unrecognized service
[root@ctohome.com ~]# rpm -q mysql 查詢發(fā)現(xiàn)mysql已經(jīng)正常安裝
mysql-5.1.52-jason.1
[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld 修改mysqld執(zhí)行權(quán)限
[root@ctohome.com ~]# service mysqld start 搞定
Starting mysqld: [ OK ]
[root@ctohome.com ~]# service mysqld status
mysqld (pid 9487) is running...
2.4 Navicat for mysql遠程連接數(shù)據(jù)庫詳解(1130錯誤解決方法)
1.進入MySql控制臺: mysql -u root -p
2.彈出Enter password: 輸入您的數(shù)據(jù)庫密碼
3.執(zhí)行下命令: GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '您的數(shù)據(jù)庫密碼' WITH GRANT OPTION;
4.再執(zhí)行下下命令: flush privileges;
5.mysql服務(wù)啟動捺氢、停止、重啟
(一)啟動方式
(1)使用 service 啟動:service mysqld start
(2)使用 mysqld 腳本啟動:/etc/inint.d/mysqld start
(3)使用 safe_mysqld 啟動:safe_mysqld&
(二)停止
(1)使用 service 啟動:service mysqld stop
(2)使用 mysqld 腳本啟動:/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
(4)殺掉進程:
ps -ef | grep mysqld
kill -9 進程號
(三)重啟
(1)(使用 service 啟動:service mysqld restart
(2)使用 mysqld 腳本啟動:/etc/inint.d/mysqld restart
6.mysql 查詢的基本命令
1)查看內(nèi)存
top
2)mysql的安裝路徑和運行路徑
whereis mysqld
3)PATH變量指定的路徑中,搜索mysql的信息
which mysqld
4)查看配置文件
# vi /etc/my.cnf
7.解決修改mysql的datadir所引發(fā)的錯誤問題
1)修改datadir指向的文件路徑
1))復制默認指定路徑里面的文件到新的指定路徑的文件夾中
2))修改指定的文件夾的修改權(quán)限
2)配置apparmor權(quán)限
1))查看apparmor的配置:# vi /etc/apparmor.d/usr.sbin.mysqld
2))配置新路徑權(quán)限
3)PATH變量指定的路徑中,搜索mysql的信息
1))查看selinux的配置:# vi /etc/selinux/config
2))修改配置: SELINUX=disabled
三 JDK安裝
1.wget下載安裝包
我將jdk安裝包下載在/TestPackages/ 目錄下
wget url
2.解壓jdk安裝包
tar xzvf jdk-8u221-linux-x64.tar.gz
解壓后
3.配置環(huán)境變量
vim /etc/profile.d/java.sh
4.使環(huán)境變量生效
source /etc/profile
5.測試jdk是否安裝成功
java -version
四 Tomcat安裝
以安裝tomcat 8 為例
=》進入Tomcat官網(wǎng)剪撬,獲取Tomcat下載地址
https://tomcat.apache.org/download-80.cgi
=》wget
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz
=》解壓
tar -zxvf apache-tomcat-8.5.43.tar.gz
=》啟動Tomcat
=>訪問Tomcat
用ip訪問
五 Redis安裝
(一) Redis服務(wù)搭建
1.在根路徑建立目錄 myredis
mkdir myredis
2.進入myredis目錄
cd myredis/
3.Redis搭建
(1)下載Redis
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
(2)解壓Redis包
tar xzf redis-5.0.4.tar.gz
(3)切換到(2)解壓的包
cd redis-5.0.4
(4)編譯包
make
Tip:當make命令出錯時摄乒,請?zhí)砑尤缦旅睿?/p>
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install tcl
(二)Redis服務(wù)配置
Redis服務(wù)相關(guān)配置,主要集中在Redis.conf文件中残黑。 在除此配置Redis服務(wù)時馍佑,有六個參數(shù)是比較重要的:requirepass, bind梨水,port拭荤,protected-mode,daemonize疫诽,logfile
1.requirepass:配置redis登錄密碼
redis.conf中舅世,requirepass參數(shù)默認是不需要的,即不需要密碼登錄踊沸。
?
這里歇终,我將其更改為123456
2.bind:配置ip
redis.conf中社证,bind默認綁定的ip為127.0.0.1
?
為了讓遠程能夠訪問逼龟,請使用Linux服務(wù)器ip地址代替,查看ip命令:ifconfig
?
3.port:配置端口號
redis.conf默認端口號為6379追葡,你可以改為你自己的端口號
?
如下更改為6399
?
4.protected-mode:設(shè)置保護模式
redis.conf的protected-mode默認是開啟保護模式的腺律,需要更改為非開啟模式
?
如下設(shè)置為不保護模式
?
5.daemonize
daemonize表示是否在后臺啟動redis-server,默認表示為非在后臺啟動服務(wù)宜肉,將其設(shè)置為后臺運行
?
6.logfile
redis.conf的logfile表示redis的配置文件匀钧,大家可以理解為sl4j.log等日志文件,
創(chuàng)建文件:myredis.log
vim /myredis/redis-5.0.4/myredis.log
?
配置logfile參數(shù)谬返,其路徑為myredis.log路徑
?
(三) 防火墻配置
如下為防火前配置的基本流程
1.查看防火墻狀態(tài)
防火墻狀態(tài)為running或not running之斯,若非running,則設(shè)置為running
2.向防火墻添加開放端口
firewall-cmd --permanent --zone=public --add-port=6399/tcp
--permanet參數(shù)表示永久遣铝,否則表示臨時
?
3.加載配置
firewall-cmd --reload
?
4.查看開啟的端口
firewall-cmd --permanent --zone=public --list-ports
?
5.啟動redis服務(wù)
需要注意的是佑刷,啟動服務(wù)時,要帶上redis配置文件
src/redis-server redis.conf
?
查看配置文件酿炸,發(fā)現(xiàn)redis已經(jīng)啟動成功
?
(四) 訪問Redis服務(wù)
1.通過xshell訪問
src/redis-cli -h 192.168.202.134 -p 6399 -a 123456
如下為成功訪問redis的截圖
?
測試一下:
?
2.通過redisDeskManager來訪問redis服務(wù)
?
打開db0瘫絮,就能看到剛才set 的name
關(guān)于redis客戶端工具,目前市場上還是比較多的填硕,這里我推薦兩款:
RedisDeskManager和RedisClient
(五) 相關(guān)命令
(1)關(guān)閉redis服務(wù)
redis-cli -h ip -p port shutdown