(吐個(gè)槽,本來(lái)是在CSDN上寫的->傳送門<- ,但是那邊的編輯器實(shí)在是太難用了……中間還丟失過(guò)一次內(nèi)容,很是辛酸,所以挪到這里來(lái))
〇、 引子
以前都是這么用Linux的:
- 實(shí)體的Linux服務(wù)器;
- windows/linux雙系統(tǒng);
- 在windows下的虛擬機(jī)中安裝linux。
主力機(jī)切換到Mac以后,這幾天頭一次在mac上琢磨安裝個(gè)Linux虛擬機(jī)玩玩,過(guò)程中也遇到了一些問(wèn)題,故記錄之,以備參考。
- 虛擬機(jī):Parallels Desktop 11
- Linux:CentOS 7
一、安裝Linux系統(tǒng)
官網(wǎng)下載個(gè)CentOS 7的ISO鏡像文件,使用Parallels Desktop直接選擇ISO文件按提示操作就可以了,這里就不給出截圖示意了,需要的朋友自行搜索。官網(wǎng)提供了三種不同的鏡像文件:DVD, Everything, Minimal. 我三種都試了,結(jié)論:
如果只是想要一個(gè)Linux服務(wù)器,不需要圖形界面,下載Minimal足夠了。這也是我安裝完之后最終選用的
安裝過(guò)程切記不要選擇快速安裝,否則Minimal無(wú)法創(chuàng)建root用戶,DVD, Everything則無(wú)法進(jìn)入圖形界面,會(huì)在重啟的時(shí)候卡在下圖這里,原因暫時(shí)沒(méi)有找到。
一定記得安裝parallels tools,我安裝的時(shí)候,不管使用的是命令行方式,還是圖形界面,都是手工安裝才成功的,雖然不知道為什么(畢竟pd下安裝windows之后tools就自動(dòng)裝好了),但是要記得檢查是否安裝成功。
圖形界面下,裝完tools之后linux的分辨率沒(méi)有自動(dòng)調(diào)整,看著十分別扭,不知道是否需要另外設(shè)置。由于我主要在命令行下工作,所以沒(méi)有仔細(xì)研究。
二、 命令行下,安裝Parallels Tools的方法
這里搜了很多答案都沒(méi)解決,最后參考了pd官網(wǎng)的答案在 Linux 虛擬機(jī)中手動(dòng)安裝 Parallels Tools,解決了。
摘錄如下:
解決方案:
通過(guò)快捷鍵“Ctrl+Alt(可選)+T”打開 Ubuntu Linux 終端窗口。
獲取管理員權(quán)限/root 權(quán)限(具體取決于您的 Linux 分發(fā)):
sudo su或 su
確保 DVD 驅(qū)動(dòng)器已經(jīng)從 Linux 虛擬機(jī)中彈出:
eject /dev/cdrom
轉(zhuǎn)到 Parallels Desktop 菜單欄 > 設(shè)備 > CD/DVD > 連接鏡像...
導(dǎo)航到“/Applications/Parallels Desktop/Contents/Resources/Tools”
點(diǎn)擊“prl-tools-lin.iso”,然后點(diǎn)擊“打開”
將 Parallels Tools 鏡像掛載到 Linux 虛擬機(jī):
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
確保已成功掛載磁盤鏡像:
ls /media/cdrom
它應(yīng)列出位于磁盤上的文件
install* installer/ install-gui* kmods/ tools/ version
轉(zhuǎn)到 Parallels Tools 磁盤,并運(yùn)行安裝包:
cd /media/cdrom
./install
三、 Linux和Mac之間傳送文件的方法
- ssh方式傳送
這里參考了這篇文章設(shè)置ssh :
centos 6.5下安裝、配置并啟動(dòng)SSH遠(yuǎn)程訪問(wèn)
總結(jié)一下我碰到的問(wèn)題:
netstat、ifconfig沒(méi)有默認(rèn)安裝,使用yum install net-tools 安裝即可。
在虛擬機(jī)中的使用,參考了下面的文章:
虛擬機(jī)下CentOS7開啟SSH連接
參考文章用的是vmware,這里截圖一下我的網(wǎng)絡(luò)設(shè)置:
當(dāng)然設(shè)置成Shared Network也是可以用的。
網(wǎng)絡(luò)設(shè)置這塊還沒(méi)有仔細(xì)研究,因?yàn)榭吹絭mware可以設(shè)置固定IP地址,我這里還沒(méi)找到怎么設(shè)置,但是目前無(wú)論Source設(shè)置成Wi-Fi還是Shared Network,每次重啟linux,IP都是固定的,且虛擬機(jī)也不會(huì)經(jīng)常重啟,因此先這么使用,如果后續(xù)IP有改變,再來(lái)研究。
設(shè)置好ssh登錄之后,還需要在CentOS linux下安裝sz, rz命令:
yum -y install lrzsz
這里說(shuō)明一下,我最初沒(méi)有成功安裝parallels tools,導(dǎo)致ssh登錄之后使用rz命令傳送文件,發(fā)現(xiàn)找不到文件,安裝tools之后問(wèn)題解決。
- 共享文件夾法 (這個(gè)暫未成功,等成功了再來(lái)補(bǔ)。不過(guò)考慮到ssh方式也很方便,也足夠了)
四、 安裝jdk
下載jdk文件并傳送到linux,我這里下載的是jdk-8u151-linux-x64.rpm
參考文章:
Linux下安裝JDK1.8
rpm安裝jdk1.8:
rpm -ivh jdk-8u151-linux-x64.rpm
配置環(huán)境變量:
[root@localhost local]# vi /etc/profile
添加以下代碼
#setup JAVA JDK
JAVA_HOME=/usr/java/jdk1.8.0_151/
JAVA_BIN=/usr/java/jdk1.8.0_151/bin
JRE_HOME=/usr/java/jdk1.8.0_151/jre
PATH=$PATH:$JAVA_BIN:$JRE_HOME/bin
CLASSPATH=$JAVA_HOME/lib.tools.jar:$JAVAHOME/lib/dt.jar
export JAVA_HOME
export JAVA_BIN
export JRE_HOME
export PATH
export CLASSPATH
保存文件使其生效:
[root@localhost local]# source /etc/profile
檢查:
[root@localhost ~]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
五、 安裝Tomcat
參考文章:
Linux下部署Tomcat服務(wù)器
將tomcat添加為linux系統(tǒng)服務(wù) 開機(jī)自啟動(dòng)
[root@localhost src]# wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
[root@localhost src]# tar -xzvf apache-tomcat-8.5.24.tar.gz
[root@localhost src]# mv apache-tomcat-8.5.24 /usr/local/tomcat
1、拷貝tomcat啟動(dòng)腳本到/etc/init.d/下命名為tomcat
[root@localhost tomcat]# cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
2、修改拷貝的腳本文件
[root@localhost tomcat]# vi /etc/init.d/tomcat
添加如下代碼:
#chkconfig: 2345 11 63//服務(wù)配置,第一個(gè)數(shù)字是服務(wù)運(yùn)行級(jí)別,第二個(gè)數(shù)字是啟動(dòng)優(yōu)先級(jí),范圍(0-99),第三個(gè)數(shù)字是停止優(yōu)先級(jí),范圍(0-99)
#description:tomcat server init script//服務(wù)的描述
JAVA_HOME=/usr/java/jdk1.8.0_151/
CATALINA_HOME=/usr/local/tomcat
注:#chkconfig和#description的配置必不可少(這塊配置還不是很清楚含義,弄明白了再來(lái)更新)
3、給tomcat腳本添加可執(zhí)行權(quán)限:
[root@localhost ~]# chmod 755 /etc/init.d/tomcat
4、添加tomcat服務(wù)
[root@localhost ~]# chkconfig --add tomcat
[root@localhost ~]# chkconfig tomcat on
5、配置完成我們就可以用service tomcat start|stop|run來(lái)管理tomcat服務(wù)了
6、設(shè)置tomcat 系統(tǒng)重啟后自動(dòng)啟動(dòng)
在/etc/rc.local下添加下面的語(yǔ)句
/usr/local/tomcat/bin/startup.sh
遇到的問(wèn)題:
[root@localhost ~]# service tomcat start
Cannot find /etc/bin/setclasspath.sh
解決方案:
有篇文章提供了兩種手動(dòng)啟動(dòng)、停止tomcat的命令
# /etc/init.d/tomcat stop
# /etc/init.d/tomcat start
# service tomcat start
# service tomcat stop
經(jīng)試驗(yàn),
# /etc/init.d/tomcat stop
# /etc/init.d/tomcat start
這兩條命令可以在我的機(jī)器上使用,但是依然無(wú)法訪問(wèn)測(cè)試頁(yè)面:localhost:8080(這里localhost=linux的ip地址)
本來(lái)以為還是tomcat啟動(dòng)失?。ㄒ?yàn)椴榭碿ataline.out里面有疑似報(bào)錯(cuò)的字樣),經(jīng)過(guò)反復(fù)嘗試發(fā)現(xiàn)是防火墻的問(wèn)題,配置之后成功打開!方法見(jiàn)下述。
參考文章:
CentOS 7.0關(guān)閉默認(rèn)防火墻啟用iptables防火墻
解決CentOS7關(guān)閉/開啟防火墻出現(xiàn)Unit iptables.service failed to load: No such file or directory.
- 關(guān)閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機(jī)啟動(dòng)
firewall-cmd --state #查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning,開啟后顯示running)
- 安裝iptables-services
yum install iptables-services
設(shè)置開機(jī)啟動(dòng):
systemctl enable iptables
- 配置文件
vi /etc/sysconfig/iptables #編輯防火墻配置文件
內(nèi)容如下
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
- 重啟防火墻、設(shè)置開機(jī)啟動(dòng)防火墻
systemctlrestart iptables.service #最后重啟防火墻使配置生效
systemctlenable iptables.service #設(shè)置防火墻開機(jī)啟動(dòng)
六、 安裝mysql
- 下載mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 安裝mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝這個(gè)包后,會(huì)獲得兩個(gè)mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
- 安裝mysql
$ sudo yum install mysql-server
根據(jù)提示安裝就可以了,不過(guò)安裝完成后沒(méi)有密碼,需要重置密碼
- 重置mysql密碼
$ mysql -u root
登錄時(shí)有可能報(bào)這樣的錯(cuò):
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)
原因是/var/lib/mysql的訪問(wèn)權(quán)限問(wèn)題。下面的命令把/var/lib/mysql的擁有者改為當(dāng)前用戶:
$ sudo chown -R root:root /var/lib/mysql
重啟mysql服務(wù)
$ service mysqld restart
接下來(lái)登錄重置密碼:
$ mysql -u root //直接回車進(jìn)入mysql控制臺(tái)
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
下面配置mysql的遠(yuǎn)程訪問(wèn)。
參考文章:
CentOS安裝mysql并配置遠(yuǎn)程訪問(wèn)
- 本地登錄mysql,在'mysql'這個(gè)數(shù)據(jù)庫(kù)里執(zhí)行
GRANT ALL ON *.* to user@'IP' IDENTIFIED BY 'password' with grant option;;
其中:user表示用戶;
IP表示登錄機(jī)器的ip,若無(wú)限制可以使用通配符%;
password該用戶對(duì)應(yīng)的密碼。
刷新權(quán)限
flush privileges;
附上我自己運(yùn)行的命令行內(nèi)容作參考:
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> GRANT ALL ON *.* to 'user1'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> EXIT;
Bye
[root@centos-linux ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
[root@centos-linux ~]#
如果還是登錄不了,考慮是不是服務(wù)器關(guān)閉了3306端口。解決方案如下:
- 關(guān)閉centos7自帶的端口管理服務(wù),然后安裝并且使用iptables管理
- 在iptables中配置打開3006端口
具體如何操作,請(qǐng)參考本文安裝mysql的章節(jié)之前,提到的關(guān)于防火墻的部分(如果你是按照我的教程一步步走下來(lái)的,端口肯定是打開的,如果你是只看了mysql的部分,那可以往上翻一下看看打開端口的具體操作步驟)。
接下來(lái),在其他機(jī)器上使用mysql客戶端,例如navicat,使用剛才指定的用戶名和密碼新建連接,即可訪問(wèn)該服務(wù)器上的mysql數(shù)據(jù)庫(kù)。
七、 安裝jenkins
參考文章
linux下安裝及配置jenkins
下載:https://pkg.jenkins.io/redhat-stable/
sudo rpm -ivh jenkins-2.89.2-1.1.noarch.rpm
sudo service jenkins startStarting jenkins (via systemctl): [ OK ]
(這里吐槽一下csdn的編輯器,居然編輯的時(shí)候不會(huì)自動(dòng)保存,害的我本來(lái)都快寫完了,不小心點(diǎn)了關(guān)閉頁(yè)面按鈕,一點(diǎn)提示也沒(méi)有的就關(guān)閉了,所有內(nèi)容作廢,重新來(lái)過(guò)……哎..所以我立刻轉(zhuǎn)移到簡(jiǎn)書來(lái)繼續(xù)寫這篇文章?。?/p>
安裝完之后,把jenkins.war文件放到tomcat的webapps目錄下
cp /usr/lib/jenkins/jenkins.war /usr/local/tomcat/webapps/
然后使用localhost:8080/jenkins,就可以打開如下頁(yè)面
默認(rèn)用戶名admin,默認(rèn)密碼在下面這個(gè)文件里:
vi /root/.jenkins/secrets/initialAdminPassword
八、 安裝git,maven
參考文章
使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建
CentOS 7 環(huán)境下安裝Maven
yum install git #安裝
yum remove git #卸載
但是yum安裝的git版本是1.8,如果需要安裝新版本可以按如下方式:
- 在線下載最新的源碼包
# wget https://github.com/git/git/archive/v2.9.2.tar.gz
也可以離線下載,然后傳到 CentOS 系統(tǒng)中指定的目錄下。
- 解壓到當(dāng)前目錄
# tar -xzvf v2.9.2.tar.gz
說(shuō)明:我用mac下載之后會(huì)自動(dòng)變成tar格式,因此解壓的時(shí)候就要用
# tar -xvf v2.9.2.tar.gz
- 安裝 Git
分別執(zhí)行以下命令進(jìn)行編譯安裝,編譯過(guò)程可能比較漫長(zhǎng),請(qǐng)耐心等待完成。
# cd git-2.9.2
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
- 添加到環(huán)境變量
vi /etc/profile
添加這一條:
export PATH="/usr/local/git/bin:$PATH"
source /etc/profile #配置立即生效
- 查看版本號(hào)
# git --version
git version 2.9.2
至此,CentOS 就安裝上了最新版本的 Git。
下載安裝maven:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar -zxvf apache-maven-3.5.2-bin.tar.gz
mv apache-maven-3.5.2 maven
配置環(huán)境變量:
使用vim編輯/etc/profile文件
命令:
vim /etc/profile
在/etc/profile文件末尾增加以下配置:
M2_HOME=/usr/local/src/maven(注意這里是maven的安裝路徑)
export PATH=${M2_HOME}/bin:${PATH}
source /etc/profile
檢驗(yàn)maven是否安裝成功
mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /usr/local/src/maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"
出現(xiàn)上述字樣表明安裝成功
九、 mangodb
安裝參考文章:
Linux平臺(tái)安裝MongoDB
在啟動(dòng)Mongo時(shí)我出現(xiàn)了錯(cuò)誤:Failed to connect 127.0.0.1:27017,reason:errno:10061由于目標(biāo)計(jì)算機(jī)積極拒絕,無(wú)法連接
原因:必須先啟動(dòng)Mongod才可以去啟動(dòng)Mongo
(后續(xù)若安裝其他linux服務(wù),將繼續(xù)更新本文)