(吐个槽,本来是在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. 我三种都试了,结论:
如果只是想要一个Linux服务器,不需要图形界面,下载Minimal足够了。这也是我安装完之后最终选用的
安装过程切记不要选择快速安装,否则Minimal无法创建root用户,DVD, Everything则无法进入图形界面,会在重启的时候卡在下图这里,原因暂时没有找到。
一定记得安装parallels tools,我安装的时候,不管使用的是命令行方式,还是图形界面,都是手工安装才成功的,虽然不知道为什么(毕竟pd下安装windows之后tools就自动装好了),但是要记得检查是否安装成功。
图形界面下,装完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之间传送文件的方法
- ssh方式传送
这里参考了这篇文章设置ssh :
centos 6.5下安装、配置并启动SSH远程访问
总结一下我碰到的问题:
netstat、ifconfig没有默认安装,使用yum install net-tools 安装即可。
在虚拟机中的使用,参考了下面的文章:
虚拟机下CentOS7开启SSH连接
参考文章用的是vmware,这里截图一下我的网络设置:
当然设置成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之后问题解决。
- 共享文件夹法 (这个暂未成功,等成功了再来补。不过考虑到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.
- 关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
- 安装iptables-services
yum install iptables-services
设置开机启动:
systemctl enable iptables
- 配置文件
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
- 重启防火墙、设置开机启动防火墙
systemctlrestart iptables.service #最后重启防火墙使配置生效
systemctlenable iptables.service #设置防火墙开机启动
六、 安装mysql
参考文章:CentOS 7.0下使用yum安装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
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
- 安装mysql
$ sudo yum install mysql-server
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
- 重置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并配置远程访问
- 本地登录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端口。解决方案如下:
- 关闭centos7自带的端口管理服务,然后安装并且使用iptables管理
- 在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,就可以打开如下页面
默认用户名admin,默认密码在下面这个文件里:
vi /root/.jenkins/secrets/initialAdminPassword
八、 安装git,maven
参考文章
使用Jenkins配置Git+Maven的自动化构建
CentOS 7 环境下安装Maven
yum install git #安装
yum remove git #卸载
但是yum安装的git版本是1.8,如果需要安装新版本可以按如下方式:
- 在线下载最新的源码包
# wget https://github.com/git/git/archive/v2.9.2.tar.gz
也可以离线下载,然后传到 CentOS 系统中指定的目录下。
- 解压到当前目录
# tar -xzvf v2.9.2.tar.gz
说明:我用mac下载之后会自动变成tar格式,因此解压的时候就要用
# tar -xvf v2.9.2.tar.gz
- 安装 Git
分别执行以下命令进行编译安装,编译过程可能比较漫长,请耐心等待完成。
# cd git-2.9.2
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
- 添加到环境变量
vi /etc/profile
添加这一条:
export PATH="/usr/local/git/bin:$PATH"
source /etc/profile #配置立即生效
- 查看版本号
# 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服务,将继续更新本文)