在Parallels Desktop上安装Cent OS并部署服务器环境(Linux, JDK, tomcat, mysql, Jenkins, git, maven,mongodb)全记录

(吐个槽,本来是在CSDN上写的->传送门<- ,但是那边的编辑器实在是太难用了……中间还丢失过一次内容,很是辛酸,所以挪到这里来)

〇、 引子

以前都是这么用Linux的:

  • 实体的Linux服务器;
  • windows/linux双系统;
  • 在windows下的虚拟机中安装linux。

主力机切换到Mac以后,这几天头一次在mac上琢磨安装个Linux虚拟机玩玩,过程中也遇到了一些问题,故记录之,以备参考。

  • 虚拟机:Parallels Desktop 11
  • Linux:CentOS 7

一、安装Linux系统

官网下载个CentOS 7的ISO镜像文件,使用Parallels Desktop直接选择ISO文件按提示操作就可以了,这里就不给出截图示意了,需要的朋友自行搜索。官网提供了三种不同的镜像文件:DVD, Everything, Minimal. 我三种都试了,结论:

  1. 如果只是想要一个Linux服务器,不需要图形界面,下载Minimal足够了。这也是我安装完之后最终选用的

  2. 安装过程切记不要选择快速安装,否则Minimal无法创建root用户,DVD, Everything则无法进入图形界面,会在重启的时候卡在下图这里,原因暂时没有找到。

image
  1. 一定记得安装parallels tools,我安装的时候,不管使用的是命令行方式,还是图形界面,都是手工安装才成功的,虽然不知道为什么(毕竟pd下安装windows之后tools就自动装好了),但是要记得检查是否安装成功。

  2. 图形界面下,装完tools之后linux的分辨率没有自动调整,看着十分别扭,不知道是否需要另外设置。由于我主要在命令行下工作,所以没有仔细研究。

二、 命令行下,安装Parallels Tools的方法

这里搜了很多答案都没解决,最后参考了pd官网的答案在 Linux 虚拟机中手动安装 Parallels Tools,解决了。

摘录如下:

解决方案:
通过快捷键“Ctrl+Alt(可选)+T”打开 Ubuntu Linux 终端窗口。
获取管理员权限/root 权限(具体取决于您的 Linux 分发):
sudo su或 su
确保 DVD 驱动器已经从 Linux 虚拟机中弹出:
eject /dev/cdrom
转到 Parallels Desktop 菜单栏 > 设备 > CD/DVD > 连接镜像...
导航到“/Applications/Parallels Desktop/Contents/Resources/Tools”
点击“prl-tools-lin.iso”,然后点击“打开”
将 Parallels Tools 镜像挂载到 Linux 虚拟机:
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
确保已成功挂载磁盘镜像:
ls /media/cdrom
它应列出位于磁盘上的文件
install* installer/ install-gui* kmods/ tools/ version
转到 Parallels Tools 磁盘,并运行安装包:
cd /media/cdrom
./install

三、 Linux和Mac之间传送文件的方法

  1. ssh方式传送

这里参考了这篇文章设置ssh :
centos 6.5下安装、配置并启动SSH远程访问

总结一下我碰到的问题:
netstat、ifconfig没有默认安装,使用yum install net-tools 安装即可。
在虚拟机中的使用,参考了下面的文章:
虚拟机下CentOS7开启SSH连接

参考文章用的是vmware,这里截图一下我的网络设置:

image

当然设置成Shared Network也是可以用的。

网络设置这块还没有仔细研究,因为看到vmware可以设置固定IP地址,我这里还没找到怎么设置,但是目前无论Source设置成Wi-Fi还是Shared Network,每次重启linux,IP都是固定的,且虚拟机也不会经常重启,因此先这么使用,如果后续IP有改变,再来研究。

设置好ssh登录之后,还需要在CentOS linux下安装sz, rz命令:

yum -y install lrzsz

这里说明一下,我最初没有成功安装parallels tools,导致ssh登录之后使用rz命令传送文件,发现找不到文件,安装tools之后问题解决。

  1. 共享文件夹法 (这个暂未成功,等成功了再来补。不过考虑到ssh方式也很方便,也足够了)

四、 安装jdk

下载jdk文件并传送到linux,我这里下载的是jdk-8u151-linux-x64.rpm

参考文章:
Linux下安装JDK1.8

rpm安装jdk1.8:

rpm -ivh jdk-8u151-linux-x64.rpm 

配置环境变量:

[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服务器

将tomcat添加为linux系统服务 开机自启动

[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启动脚本到/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//服务配置,第一个数字是服务运行级别,第二个数字是启动优先级,范围(0-99),第三个数字是停止优先级,范围(0-99)
#description:tomcat server init script//服务的描述
JAVA_HOME=/usr/java/jdk1.8.0_151/
CATALINA_HOME=/usr/local/tomcat

注:#chkconfig和#description的配置必不可少(这块配置还不是很清楚含义,弄明白了再来更新)

3、给tomcat脚本添加可执行权限:

[root@localhost ~]# chmod 755 /etc/init.d/tomcat

4、添加tomcat服务

[root@localhost ~]# chkconfig --add tomcat
[root@localhost ~]# chkconfig tomcat on

5、配置完成我们就可以用service tomcat start|stop|run来管理tomcat服务了

6、设置tomcat 系统重启后自动启动

在/etc/rc.local下添加下面的语句

/usr/local/tomcat/bin/startup.sh

遇到的问题:

[root@localhost ~]# service tomcat start
Cannot find /etc/bin/setclasspath.sh

解决方案:

有篇文章提供了两种手动启动、停止tomcat的命令

# /etc/init.d/tomcat stop
# /etc/init.d/tomcat start

# service tomcat start
# service tomcat stop

经试验,

# /etc/init.d/tomcat stop
# /etc/init.d/tomcat start

这两条命令可以在我的机器上使用,但是依然无法访问测试页面:localhost:8080(这里localhost=linux的ip地址)

本来以为还是tomcat启动失败(因为查看cataline.out里面有疑似报错的字样),经过反复尝试发现是防火墙的问题,配置之后成功打开!方法见下述。

参考文章:
CentOS 7.0关闭默认防火墙启用iptables防火墙

解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory.

  1. 关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
  1. 安装iptables-services
yum install iptables-services

设置开机启动:

systemctl enable iptables
  1. 配置文件
vi /etc/sysconfig/iptables #编辑防火墙配置文件

内容如下

*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
  1. 重启防火墙、设置开机启动防火墙
systemctlrestart iptables.service #最后重启防火墙使配置生效
systemctlenable iptables.service #设置防火墙开机启动

六、 安装mysql

参考文章:CentOS 7.0下使用yum安装MySQL

  1. 下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  1. 安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

  1. 安装mysql
$ sudo yum install mysql-server

根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

  1. 重置mysql密码
$ mysql -u root

登录时有可能报这样的错:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

$ sudo chown -R root:root /var/lib/mysql

重启mysql服务

$ service mysqld restart

接下来登录重置密码:

$ mysql -u root  //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

下面配置mysql的远程访问。
参考文章:
CentOS安装mysql并配置远程访问

  1. 本地登录mysql,在'mysql'这个数据库里执行
GRANT ALL ON *.* to user@'IP' IDENTIFIED BY 'password' with grant option;;  

其中:user表示用户;
IP表示登录机器的ip,若无限制可以使用通配符%;
password该用户对应的密码。
刷新权限

flush privileges;

附上我自己运行的命令行内容作参考:

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 ~]#

如果还是登录不了,考虑是不是服务器关闭了3306端口。解决方案如下:

  1. 关闭centos7自带的端口管理服务,然后安装并且使用iptables管理
  2. 在iptables中配置打开3006端口

具体如何操作,请参考本文安装mysql的章节之前,提到的关于防火墙的部分(如果你是按照我的教程一步步走下来的,端口肯定是打开的,如果你是只看了mysql的部分,那可以往上翻一下看看打开端口的具体操作步骤)。

接下来,在其他机器上使用mysql客户端,例如navicat,使用刚才指定的用户名和密码新建连接,即可访问该服务器上的mysql数据库。

七、 安装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的编辑器,居然编辑的时候不会自动保存,害的我本来都快写完了,不小心点了关闭页面按钮,一点提示也没有的就关闭了,所有内容作废,重新来过……哎..所以我立刻转移到简书来继续写这篇文章!)

安装完之后,把jenkins.war文件放到tomcat的webapps目录下

cp /usr/lib/jenkins/jenkins.war /usr/local/tomcat/webapps/

然后使用localhost:8080/jenkins,就可以打开如下页面

image

默认用户名admin,默认密码在下面这个文件里:

vi /root/.jenkins/secrets/initialAdminPassword

八、 安装git,maven

参考文章

使用Jenkins配置Git+Maven的自动化构建
CentOS 7 环境下安装Maven

yum install git  #安装
yum remove git  #卸载

但是yum安装的git版本是1.8,如果需要安装新版本可以按如下方式:

  1. 在线下载最新的源码包
# wget https://github.com/git/git/archive/v2.9.2.tar.gz

也可以离线下载,然后传到 CentOS 系统中指定的目录下。

  1. 解压到当前目录
# tar -xzvf v2.9.2.tar.gz

说明:我用mac下载之后会自动变成tar格式,因此解压的时候就要用

# tar -xvf v2.9.2.tar.gz
  1. 安装 Git

分别执行以下命令进行编译安装,编译过程可能比较漫长,请耐心等待完成。

# cd git-2.9.2
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
  1. 添加到环境变量
vi /etc/profile  

添加这一条:

export PATH="/usr/local/git/bin:$PATH" 
source /etc/profile   #配置立即生效
  1. 查看版本号
# 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

配置环境变量:
使用vim编辑/etc/profile文件
命令:

vim /etc/profile

在/etc/profile文件末尾增加以下配置:

M2_HOME=/usr/local/src/maven(注意这里是maven的安装路径)
export PATH=${M2_HOME}/bin:${PATH}
source /etc/profile

检验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"

出现上述字样表明安装成功

九、 mangodb

安装参考文章:
Linux平台安装MongoDB

在启动Mongo时我出现了错误:Failed to connect 127.0.0.1:27017,reason:errno:10061由于目标计算机积极拒绝,无法连接

原因:必须先启动Mongod才可以去启动Mongo
(后续若安装其他linux服务,将继续更新本文)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335