? ? ?
?在項(xiàng)目產(chǎn)品開(kāi)發(fā)中,開(kāi)發(fā)環(huán)境搭建是軟件開(kāi)發(fā)的首要階段,也是必須階段,只有開(kāi)發(fā)環(huán)境搭建好了,方可進(jìn)行開(kāi)發(fā),良好的開(kāi)發(fā)環(huán)境搭建,為后續(xù)的開(kāi)發(fā)工作帶來(lái)極大便利。
? ? ?
?對(duì)于大公司來(lái)說(shuō),軟件開(kāi)發(fā)環(huán)境搭建工作一般是由運(yùn)維來(lái)做,然而,對(duì)于小公司來(lái)說(shuō),這個(gè)工作就交給開(kāi)發(fā)人員來(lái)做了,如開(kāi)發(fā)經(jīng)理。不管這個(gè)工作是交給運(yùn)維人員做,還是
交給開(kāi)發(fā)人員做,能確定的是:做這件事的人,一定是個(gè)資深的人,如此,方可讓開(kāi)發(fā)環(huán)境穩(wěn)定運(yùn)行,從而為后續(xù)的開(kāi)發(fā)提供便利。
? ? ?
?現(xiàn)實(shí)中,只有極少部分開(kāi)發(fā)人員接觸服務(wù)器(能接觸的人,基本都是開(kāi)發(fā)組長(zhǎng)及其以上,或資深開(kāi)發(fā),小公司除外),然而,對(duì)于一個(gè)技術(shù)人員來(lái)說(shuō),服務(wù)器相關(guān)環(huán)境搭建是個(gè)必
不可少的環(huán)節(jié),這就產(chǎn)生了一個(gè)矛盾:服務(wù)器相關(guān)搭建工作是程序員不可或缺技術(shù),但大部分程序員又少接觸服務(wù)器。鑒于此,本篇文章將詳解這個(gè)專題,對(duì)于沒(méi)搭建過(guò)服務(wù)器的開(kāi)發(fā)
人員,初中級(jí)開(kāi)發(fā)人員,.NET轉(zhuǎn)java開(kāi)發(fā)人員提供幫助。
? ? ? ?本篇文章內(nèi)容包括:Linux理論與實(shí)操,MySQL實(shí)操,JDK實(shí)操,Tomcat實(shí)操和Tomcat實(shí)操。
一 Linux環(huán)境搭建
? ?本小結(jié)側(cè)重于操作,主要內(nèi)容大致包括:
* 兩大類操作系統(tǒng)簡(jiǎn)要介紹
* VMware Workstation Pro 15簡(jiǎn)要介紹及安裝
* CentOS簡(jiǎn)要介紹及基于Wi'n'dows 操作系統(tǒng)的安裝
(一 )關(guān)于操作系統(tǒng)的介紹
? ??1.Windows 系統(tǒng)
? ? ? ?Window操作系統(tǒng),是我們?cè)偈煜げ贿^(guò)的系統(tǒng)了。
* 客戶端操作系統(tǒng):windows xp(已過(guò)時(shí)),win7,win8,win10
* 服務(wù)器操作系統(tǒng):windows server 2008(R2),windows server 2012(R2),windows server 2016
? ? ?2.Linux 系統(tǒng)
? ? ? ?
?Linux系統(tǒng)是一款開(kāi)源的多用戶操作系統(tǒng)(開(kāi)源主要指它的內(nèi)核),由于開(kāi)源,從而衍生出不同版本Linux操作系統(tǒng)。它的內(nèi)核最初只是由芬蘭人李納斯·托瓦茲(Linus
Torvalds)在赫爾辛基大學(xué)上學(xué)時(shí)出于個(gè)人愛(ài)好而編寫(xiě)的。
它是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
目前市面上較知名的發(fā)行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch
Linux、SolusOS 等。從商業(yè)角度來(lái)說(shuō),分為商業(yè)版(收費(fèi),如Rechart系列)和非商業(yè)版(免費(fèi),如CentOS)。
(二)虛擬機(jī)
? ? ??關(guān)于虛擬機(jī),當(dāng)前有兩款比較流行:VMware? Workstation 和 VirtualBox。
? ? ? 在本篇文章中,我們將選擇VMware Workstation Pro 15(Wmware當(dāng)前最新版本)作為演示虛擬機(jī)。
? ? ?1.下載地址
? ?
?官網(wǎng):https://www.vmware.com/products/workstation-pro.html。官網(wǎng)提供了兩種不同平臺(tái)的虛擬機(jī),即windows和linux。
? ?2.序列號(hào)
? ? GV7N2-DQZ00-4897Y-27ZNX-NV0TD
? ?3.安裝步驟
? ? ? ?=》下載虛擬機(jī)
? ? ? 由于本次演示是基于windows的,因此下載windows版本的虛擬機(jī)
=》安裝
下載好的虛擬機(jī)安裝包如下,雙擊進(jìn)行安裝。
注意:一般在安裝新軟件時(shí),盡量把殺毒軟件關(guān)閉。
彈出界面,選擇“下一步”
接受許可協(xié)議,下一步
?
選擇安裝路徑,選擇增強(qiáng)版(也可以不選),下一步
下一步
下一步
安裝
安裝中....
安裝結(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.無(wú)論是哪個(gè)版本鏡像,均分為32位(x86)和64位(x64);
(四) 安裝CentOS
?1.啟動(dòng)虛擬機(jī),文件=》新建虛擬機(jī)
典型,下一步
選擇安裝包,下一步
下一步
存儲(chǔ)單個(gè)文件,下一步
自定義硬件配置
設(shè)置內(nèi)存為8G,關(guān)閉
完成
安裝準(zhǔn)備中(等待60秒,自動(dòng)安裝,不要操作鼠標(biāo))
準(zhǔn)備中
選擇簡(jiǎn)體中文(中國(guó)),繼續(xù)
基本配置結(jié)束后,選擇開(kāi)始安裝
安裝中
配置Root密碼
完成配置
重啟
?登錄
?
注意:如果安裝可視化桌面,請(qǐng)按照如下步驟
軟件選擇
?GNOME
?登錄
桌面
?
二? MySQL安裝
?1? 搭建mysql
1.1? 官網(wǎng)下載mysql壓縮包
下載壓縮包時(shí),可以先把安裝包下載到本地,再上傳到服務(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 將壓縮包移動(dòng)到 /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,這個(gè)根據(jù)自己的目錄來(lái)
#chown -R mysql.mysql /usr/local/mysql
1.6? 在mysql目錄下創(chuàng)建data文件夾
#mkdir data?
1.7 初始化數(shù)據(jù)庫(kù)
#/usr/local/mysql/bin/mysql_install_db --user=mysql
--basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出現(xiàn)以下錯(cuò)誤是因?yàn)?.7版本的初始化命令后面要加?--initialize,如下:
/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
# 取消密碼驗(yàn)證
//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 開(kāi)機(jī)啟動(dòng)
#chkconfig mysql on
1.11 啟動(dòng)mysql
#service mysql start
1.12 設(shè)置密碼
由于在第7步my.cnf配置文件中取消了密碼驗(yàn)證,故登錄mysql不需要密碼驗(yàn)證。
/usr/local/mysql/bin/mysql -uroot
無(wú)密碼登錄之后,修改密碼:
#use?mysql;
#update user set?authentication_string=password('root') where user='root';
或者#set password=password("root");
#flush privileges;
#exit
1.13 將第7步改為需要密碼驗(yàn)證
1.14 添加遠(yuǎn)程賬戶
使用root賬戶登錄,并設(shè)置遠(yuǎn)程登錄賬戶
GRANT ALL PRIVILEGES ON *.* to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019'
WITH GRANT OPTION
1.15 防火墻設(shè)置
方式一:關(guān)閉防火墻
//停止
systemctl stop firewalld.service
//禁止開(kāi)機(jī)啟動(dòng)
systemctl disable firewalld.service
方式二:開(kāi)啟端口
//這里發(fā)現(xiàn)防火墻是開(kāi)啟的,再來(lái)查看防火墻控制的端口
systemctl status firewalld
//查看防火墻控制的端口,發(fā)現(xiàn)我想要監(jiān)聽(tīng)的8081端口沒(méi)有開(kāi)啟
firewall-cmd --list-all
//永久開(kāi)啟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.啟動(dòng)服務(wù)
方式一:服務(wù)方式
[root@localhost ~]service mysql start
如果服務(wù)在啟動(dòng)狀態(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.進(jìn)程查詢和殺死
(1) ps -ef |grep redis
ps:將某個(gè)進(jìn)程顯示出來(lái)
-A 顯示所有程序。?
-e 此參數(shù)的效果和指定"A"參數(shù)相同。
-f 顯示UID,PPIP,C與STIME欄位。?
grep命令是查找
中間的|是管道命令 是指ps命令與grep同時(shí)執(zhí)行
這條命令的意思是顯示有關(guān)redis有關(guān)的進(jìn)程
(2)kill[參數(shù)][進(jìn)程號(hào)]
? ?kill -9 4394
kill就是給某個(gè)進(jìn)程id發(fā)送了一個(gè)信號(hào)。默認(rèn)發(fā)送的信號(hào)是SIGTERM,而kill -9發(fā)送的信號(hào)是SIGKILL,即exit。
exit信號(hào)不會(huì)被系統(tǒng)阻塞,所以kill -9能順利殺掉進(jìn)程。當(dāng)然你也可以使用kill發(fā)送其他信號(hào)給進(jìn)程。
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對(duì)應(yīng)的文件夾信息
? ? ?# find / -name mysql
5.收集MySQL對(duì)應(yīng)的文件夾信息
? ? ?# rm -rf ?路徑/文件名
6.刪除mysql用戶及用戶組
? ? # more /etc/passwd | grep mysql
? ? # more /etc/shadow | grep mysql?
? ? # more /etc/group | grep mysql ?
? ? # userdel mysql
? ? # groupdel mysql
7.確認(rèn)MySQL是否卸載刪除
? ? # ?rpm -qa | grep -i mysql
2.2? yum包安裝方式的MySQL安裝
1.查看yum上提供的數(shù)據(jù)庫(kù)可下載版本
? ? # ?yum list | grep mysql
2.安裝mysql.i686,mysql-devel.i686,mysql-server.i686
? ?# ?yum -y install mysql mysql-server mysql-devel
3.查看是否開(kāi)機(jī)啟動(dòng)
? ?# chkconfig --list | grep mysqld
4.設(shè)置為開(kāi)機(jī)啟動(dòng)
? ?# ?chkconfig mysqld on
5.設(shè)置數(shù)據(jù)庫(kù)密碼
? # ?service mysqld start
? # ?mysqladmin -u root -p password 'root'
2.3? service mysql start出錯(cuò):unrecognized service的解決辦法
[[email protected] ~]# service mysql start
mysql: unrecognized service
[[email protected] ~]# service mysql restart
mysql: unrecognized service
?
[[email protected] ~]# rpm -q mysql ? 查詢發(fā)現(xiàn)mysql已經(jīng)正常安裝
mysql-5.1.52-jason.1
[[email protected] ~]# chmod 755 /etc/rc.d/init.d/mysqld ?修改mysqld執(zhí)行權(quán)限
[[email protected] ~]# service mysqld start ?搞定
Starting mysqld: ?[ ?OK ?]
[[email protected] ~]# service mysqld status
mysqld (pid 9487) is running...
2.4? Navicat for mysql遠(yuǎn)程連接數(shù)據(jù)庫(kù)詳解(1130錯(cuò)誤解決方法)
1.進(jìn)入MySql控制臺(tái): mysql -u root -p
2.彈出Enter password: ? 輸入您的數(shù)據(jù)庫(kù)密碼
3.執(zhí)行下命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的數(shù)據(jù)庫(kù)密碼'
WITH GRANT OPTION;
4.再執(zhí)行下下命令: ?flush privileges;
5.mysql服務(wù)啟動(dòng)、停止、重啟
(一)啟動(dòng)方式
(1)使用 service 啟動(dòng):service mysqld start
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld start
(3)使用 safe_mysqld 啟動(dòng):safe_mysqld&
(二)停止
(1)使用 service 啟動(dòng):service mysqld stop
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
(4)殺掉進(jìn)程:
? # ?ps -ef ?| ?grep mysqld
?# ?kill -9 ?進(jìn)程號(hào)?
(三)重啟
(1)(使用 service 啟動(dòng):service mysqld restart
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld restart
6.mysql 查詢的基本命令
? ?1)查看內(nèi)存
# ?top
2)mysql的安裝路徑和運(yùn)行路徑
?# ?whereis mysqld
? ? 3)PATH變量指定的路徑中,搜索mysql的信息
# ?which mysqld
? ? 4)查看配置文件
# ?vi /etc/my.cnf
7.解決修改mysql的datadir所引發(fā)的錯(cuò)誤問(wèn)題
1)修改datadir指向的文件路徑
1))復(fù)制默認(rèn)指定路徑里面的文件到新的指定路徑的文件夾中 ??
?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.測(cè)試jdk是否安裝成功
java -version
?
四 Tomcat安裝
?以安裝tomcat 8 為例
=》進(jìn)入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
=》啟動(dòng)Tomcat
?
=>訪問(wèn)Tomcat
?用ip訪問(wèn)
?
?五 Redis安裝
?(一)? Redis服務(wù)搭建
? ? ?1.在根路徑建立目錄 myredis
? ? ? ? mkdir myredis
? ? ? 2.進(jìn)入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:當(dāng)make命令出錯(cuò)時(shí),請(qǐng)?zhí)砑尤缦旅睿?br>
? ? ? ? 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í),有六個(gè)參數(shù)是比較重要的:requirepass,
bind,port,protected-mode,daemonize,logfile
? ? ? 1.requirepass:配置redis登錄密碼
? ? ? redis.conf中,requirepass參數(shù)默認(rèn)是不需要的,即不需要密碼登錄。
? ? ? ?
? ? ? ?這里,我將其更改為123456
? ? ???
? ? ? ?2.bind:配置ip
? ? ? ?redis.conf中,bind默認(rèn)綁定的ip為127.0.0.1
? ? ??
? ? ? ?為了讓遠(yuǎn)程能夠訪問(wèn),請(qǐng)使用Linux服務(wù)器ip地址代替,查看ip命令:ifconfig
? ?????
? ? ? ? 3.port:配置端口號(hào)
? ? ? ? ?redis.conf默認(rèn)端口號(hào)為6379,你可以改為你自己的端口號(hào)
? ? ? ?
? ? ? ? 如下更改為6399
? ? ? ??
? ? ? ?4.protected-mode:設(shè)置保護(hù)模式
? ? ? ? ?redis.conf的protected-mode默認(rèn)是開(kāi)啟保護(hù)模式的,需要更改為非開(kāi)啟模式
? ? ? ??
? ? ? ? 如下設(shè)置為不保護(hù)模式
? ???? ?
? ? ? ?5.daemonize
? ? ? ? ?daemonize表示是否在后臺(tái)啟動(dòng)redis-server,默認(rèn)表示為非在后臺(tái)啟動(dòng)服務(wù),將其設(shè)置為后臺(tái)運(yùn)行
? ?????
? ? ? ?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.向防火墻添加開(kāi)放端口
? ?firewall-cmd --permanent --zone=public --add-port=6399/tcp
? ? ?--permanet參數(shù)表示永久,否則表示臨時(shí)
? ??
? ? 3.加載配置
? ? firewall-cmd --reload
? ??
? ?4.查看開(kāi)啟的端口
? ? firewall-cmd --permanent --zone=public --list-ports
? ??
? ?5.啟動(dòng)redis服務(wù)
? ?需要注意的是,啟動(dòng)服務(wù)時(shí),要帶上redis配置文件
? ?src/redis-server ?redis.conf
? ??
? ?查看配置文件,發(fā)現(xiàn)redis已經(jīng)啟動(dòng)成功
???
(四) 訪問(wèn)Redis服務(wù)
? 1.通過(guò)xshell訪問(wèn)
? ?src/redis-cli -h 192.168.202.134 -p 6399 -a 123456
? 如下為成功訪問(wèn)redis的截圖
???
? 測(cè)試一下:?
???
? 2.通過(guò)redisDeskManager來(lái)訪問(wèn)redis服務(wù)
???
? 打開(kāi)db0,就能看到剛才set 的name
???
關(guān)于redis客戶端工具,目前市場(chǎng)上還是比較多的,這里我推薦兩款:
?RedisDeskManager和RedisClient
(五)? 相關(guān)命令
(1)關(guān)閉redis服務(wù)
? redis-cli -h ip -p port shutdown
六 版權(quán)區(qū)
* ?轉(zhuǎn)載博客,必須注明博客出處
* ?博客園:http://www.cnblogs.com/wangjiming/ (側(cè)重.NET)
* ?CSDN:https://blog.csdn.net/u010228798 <https://blog.csdn.net/u010228798>?
(側(cè)重JAVA)
* ?如您有新想法,歡迎提出,郵箱:[email protected]
* ?專業(yè).NET之家技術(shù)QQ群:490539956
* 專業(yè)化Java之家QQ群:924412846
* 有問(wèn)必答QQ群:2098469527
* ?一對(duì)一技術(shù)輔導(dǎo)QQ:2098469527
熱門工具 換一換
