Linux简介

对于我们来说主要作用:发布项目

Unix介绍

Unix于1969年在AT&T(美国电话电报公司)的贝尔实验室开发。
Unix是一个强大的多用户、多任务操作系统
Unix的商标权由国际开放标准组织(The Open Group)所拥有。
Unix操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。

Linux概述

Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。
Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了成百上千种不同的Linux系统。
Linux系统的应用非常广泛,不仅可以长时间稳定的运行我们编写的程序代码,还可以安装在各种硬件设备中,比如手机、平板电脑、路由器等。
Linux入门+软件_装+项目部署 - 图1
图1 林纳斯·托瓦兹

Linux分类

Linux根据市场需求不同,基本分为两个方向:
图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够
服务器版:没有界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们架设服务器的最佳选择!

Linux根据原生程度,又分为两种:
内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号
发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本

Linux发行版本不同,又可以分为n多种:
Linux入门+软件_装+项目部署 - 图2

Linux安装

安装虚拟机软件

因为Linux也是一个系统,本质上跟我们电脑的Windows没有区别,所以我们要学习Linux就首先将我们电脑的Window系统换成Linux系统,或者在我们电脑上安装双系统,但是这样做太麻烦了。其实我们可以在我们电脑上安装一个软件,这个软件可以模拟一台或多台虚拟的电脑机器,这就是虚拟机,常用的虚拟机软件有两种:

1. 威睿公司的VMware,功能强大,收费产品
Linux入门+软件_装+项目部署 - 图3

2. Oracle公司的VitrualBox,免费产品
Linux入门+软件_装+项目部署 - 图4

我们使用的是市场占有率较高的VMware
安装步骤:VMware安装步骤.doc

安装CentOS

CentOS是一个Linux的发行版本,是目前企业中用来做应用服务器系统的主要版本,CentOS的安装,其实是将该系统安装到VMware虚拟机软件中,让VMware虚拟机软件模拟出一台Linux系统的电脑。安装步骤:CentOS安装步骤.doc

Linux命令

服务器版的Linux是没有图形化界面的,只能通过在控制台输入Linux命令来操作系统,类似在windows下使用DOS命令。学习Linux,主要是学习Linux的各种命令。

在学习命令之前,让我们先来了解一下Linux命令的格式,包含3个部分([]表示可选):
Linux命令格式:command [options] [arguments]
command:命令名称,必需的
options:选项,可选的
arguments:参数,可选的
命令名称、选项以及参数之间使用空格分隔,命令名就不用多说了,使用不同的命令名完成不同的操作,关键是选项和参数(比较容易混淆):

选项options__:
选项是调整命令行为的因素,选项不同决定了命令的结果不同。选项又分为长选项和短选项
短选项(short options)
1. 格式多为中划线+选项,选项多位单个字母或数字,当有多个短选项时,各选项之间使用空格隔开,例如-a,-b,-2,-c -d等。
2. 大多选项可以组合,例如-ab,等同于-a –b
3. 有些短选项可以带参数,使用空格,例如-L 512M
4. 有些可以不带-,这通常叫作BSD风格的选项,比如ps aux
5. 大多短选项都有与之对应的长选项,但如果有短选项,一般不使用长选项

长选项(long options)
1. 格式为两个中划线+选项,选项多为一个单词,例如—help,—list等
2. 都是完整的单词,通常不能组合
3. 有些长选项可以带参数,使用=,例如—size=1G

参数arguments__:
参数表示命令的操作对象,例如,在Linux中,查看目录使用ls,不加参数时显示的是当前目录,也可以加参数,例如:ls /dev,则查看/dev目录


简单总结:命令操作的对象叫参数,选项用来指定操作的方式。比如说杀猪,杀是命令,猪就是参数,而选项是杀猪的方式,可以是残忍的杀:一刀捅死,不死再来一刀;也可以是温柔的杀:让它吃到撑死,幸福的死去。。。

Linux的命令成千上万,课程中不能一一涉及,也没有必要一一涉及,根据程序员在日常工作中的需求,总结出如下几种供学习使用。更多命令请参阅:Linux命令大全(修改版).chm.chm)

提示:Linux中很多(不是所有)命令对选项和参数的顺序没有要求,但通常选项在前,参数在后

目录切换命令

在windows中通过图形化界面和鼠标可以任意切换需要进入的目录,而Linux必须通过cd命令切换目录。
因此在学习cd命令之前,我们需要先了解Linux的目录结构(Linux各目录及每个目录的详细介绍.docx):
Linux入门+软件_装+项目部署 - 图5

命令:cd 目录
说明:从当前目录,切换到其它目录
选项:无
参数:目标目录
示例
cd 切换到当前用户的主目录
cd / 切换到系统根目录
cd /usr 切换到根目录下的usr目录
cd demo 切换到当前目录下的demo目录
cd ../ 切换到当前目录的上一层目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录(上一个是指你上一个访问的路径,相当于http协议的来路)

小提示:输入clear命令清屏,或者是Ctrl + L

目录操作命令(增删改查)

查看目录★★★★★

命令:ls [-al] [目录]
说明:ls(list),该命令用于查看指定目录中的文件和文件夹
选项
-a(all) 表示所有,包括隐藏的文件和文件夹,在Linux中,以点开头的文件都是隐藏文件
-l(list) 使用详细格式列表

参数:要查看的目录,如果不指定,则查看当前目录
示例
ls 查看当前目录中的文件,不包含隐藏文件
ls -a 查看当前目录下的所有文件,包括隐藏的
ls -a -l 使用详细格式列表查看当前目录下的所有文件,选项还可以连着写:ls -al
ls / 查看根目录/中的文件,不包含隐藏文件
ls -al / 使用详细格式列表查看根目录下的所有文件,选项和参数的顺序不影响结果,还可以这样写:ls / -al

小提示:ls -l 可以缩写成ll

创建目录★★★★★

命令:mkdir [-pv] 目录1 目录2
说明:mkdir(make directory),该命令用于创建目录,可以一次创建多个目录,多个目录之间使用空格
选项:
-p(parents) 用于一次创建多级目录,和java中的mkdirs方法是一样的,若所要创建目录的上级目录不存在,则会一并创建。例如:mkdir -p /a/b/c
-v(verbose) 显示创建信息
示例:
mkdir /demo 在根目录下创建demo目录
mkdir a b 在当前目录下创建a和b两个目录
mkdir -v /demo/c 创建/demo/c目录,并显示创建信息
mkdir -p /demo/d/a 创建/demo/d/a,如果不加p选项,则a的上级目录不存在会报错

小提示:在创建目录时,建议都加上选项-p,即使创建的目录已经存在,也不会发生错误

搜索目录

命令:find 目录 选项 关键字
说明:查询指定目录中的文件,包括隐藏文件
示例:find /root -name “.log”

**小提示:搜索隐藏的文件可以使用”.
“**

改名和剪切

改名:mv 原名 新名
移动:mv 文件1 文件2… 目标目录
说明:mv(move)该命令既可以将源文件重命名,也可以将源文件移动到指定的目录。
示例:
mv a b 如果b不存在,表示将a改名为b,如果b(目录)存在,表示将a移动到b
mv a b c 将a和b移动到c

复制目录

命令:cp [-vr] 文件… 目标目录
说明:cp(copy),该命令可以将指定的文件复制到目标目录
选项:
-r(recursive) 如果复制的是目录,则递归复制目录及其子目录内的所有内容
-v(verbose) 显示复制进度及详细信息

示例:
cp -r a b c 将a和b复制到c目录
cp -vr /demo/c b 将/demo/c复制到b目录,并显示相关信息
cp -v /root/.log *. 将/root目录下的log文件复制到当前目录,.或./表示当前目录

删除目录

命令:rm [-rfv] 文件1 文件2 …
说明:rm(remove),该命令用于删除指定的文件
选项:
-r(recursive) 如果删除的是目录,则递归删除目录及其子目录内的所有内容
-f(force) 强制删除。忽略不存在的文件,并且在删除时不给出确认的提示信息
-v(verbose) 显示删除进度及详细信息

示例:
rm -r /demo/c 删除/demo/c目录,删除过程中需要输入y以确认删除
rm -rf /demo/b 不要询问,强制删除demo/b目录
rm -rf a b 不要询问,强制删除a和b两个文件
rm -rfv /demo/ 删除/demo目录下的所有文件,并显示相关信息

*提示:为了方便记忆,无论删除任何目录或文件,都直接使用rm -rf 文件…

文件操作命令(增删改查)

创建文件

命令:touch 文件名…
说明:touch该命令创建的都是空文本文件
示例:
touch /demo/test 在/demo目录下创建文件”test”,该文件是文本文件,只是没有后缀名

修改文件★★★★★

基本操作★★★★★:
l 输入“vim 文件名”进入“命令模式”,此时还不能编辑
l 按下“i”(insert)从命令模式,进入“编辑模式”,对文件进行编辑
l 编辑完成,按下“esc”从“编辑模式”回到“命令模式”
l 在“命令模式”下,输入“:wq”,保存并退出:

关于vim使用过程:
vim 文件————>命令模式————->输入i—————>编辑模式—————->编辑文件—————->
按下Esc————->命令模式————->输入:—————>底行模式—————->输入wq保存并退出 或 “q!”强制退出不保存

vim可以分为三种模式,分别是命令模式、插入模式和底行模式,下面列出各模式下的常用操作:
命令模式
  进入插入模式:
i(insert) 在光标插入
shift + i 在光标当前行开始插入
a 在光标插入
shift + a 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
shift + o 在光标当前行的上一行插入新行
其他操作(命令模式下!):
yy 单行复制,复制光标所在的行
nyy 多行复制,将光标移动到将要复制的首行处,复制n行,n是一个数字
p 粘贴,将光标移动到将要粘贴的行处
gg 定位到文本的第一行
shift + g 到文本的最后一行
dd 删除光标所在行
ndd 删除从光标开始的n行

进入底行模式:“:”或 “/”或 “?”

插入模式: 只有在该模式下,才可以做文字输入,按「ESC」可以回到命令行模式。
底行模式
:q quit,退出vim(没有做任何修改时)
:q! 强制退出不保存
:w write,保存不退出
:wq 保存后退出
/字符串 从文件开始位置 查找指定的字符串 按n查找下一个匹配的结果 Shift+n上一个匹配结果
?字符串 从文件结尾位置 查找指定的字符串

总结:vim编辑器是Linux中的强大组件,是vi编辑器的加强版, vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。附:Vim命令合集.docVi使用方法详细介绍.doc

查看文件

命令:cat/tac/less/more/head/tail 文件
说明:每种方式都可以查看文件,但是查看的方式不同
示例:
head /etc/sudo.conf -n 10 查看最前面10行(默认),Ctrl+C结束
tail /etc/sudo.conf -n 10 查看最后面10行(默认),Ctrl+C结束
cat -n /etc/sudo.conf 只能显示最后一屏内容,-n表示显示行号
tac /etc/sudo.conf 只能显示最前一屏内容,并且是倒着的。。。。。。
less /etc/sudo.conf
向下一行:回车或向下键
向上一行:向上键
上下翻页:PgUp和PgDn,或者ctrl+f(forward)向下翻页,ctrl+b(back)向上翻
上下翻半页:u(up) d(down)
进入编辑模式:按v
退出:按q quit
搜索:/要搜索的关键字,然后回车

more /etc/sudo.conf 查看内容,并显示已查看内容的百分比
向下一行:回车
向上一行:无
上下翻页:ctrl+f(forward)向下翻页,ctrl+b(back)向上翻
进入编辑模式:按v
退出:按q 或 看完(这货就自动退出了)

更多less和more的说明:查看文件more和less.doc

提示:
tail -f 文件,可以对某个文件进行动态监控,例如tomcat的日志文件,会随着程序的运行,
日志会变化,可以使用tail -f catalina-2017-01-01.log 监控文件的变化

删除文件:见删除目录 rm -rf 文件…

文件的复制、改名:见目录相关的操作!

cp 文件 文件… 目标目录
mv a b 如果b存在且b是一个文件夹表示移动 如果b不存在,表示改名
mv a b c

压缩文件操作命令

打包和压缩文件

windows的压缩文件的扩展名 .zip/.rar

linux中的打包文件:.tar 把多个文件打包,体积不变
linux中的压缩文件:.gz 把多个文件压缩成一个文件,体积变小
linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩文件一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件…
其中:
z:调用gzip压缩命令进行压缩
c:创建压缩文件
v:显示过程
f:指定压缩后的文件名
示例:
tar -zcvf xxx.tar.gz /demo/* 打包并压缩/demo下的所有文件,压缩后的压缩包指定名称为xxx.tar.gz

解压压缩包

命令:tar [-xvf] 压缩文件 [-C 目录]
其中:x代表解压,C表示解压到哪个目录
示例:
tar -xvf xxx.tar.gz 将xxx.tar.gz解压到当前目录下

其他命令

查看帮助:命令名称 —help可以查看命令的使用说明,例如:mkdir —help
显示当前位置:pwd
显示所有的进程:ps -ef
结束进程:
命令:kill [-9] pid
说明:-9表示强制,pid是进程的id
例如:kill -9 123,强制结束进程id为123的进程

关键字搜索:★★★★★
命令:grep -i 要搜索的字符串 要搜索的文件 ,-i表示忽略大小写
示例:搜索/etc/sudu.conf文件中包含字符串to的行:grep -i to /etc/sudu.conf
示例:搜索/etc/sudu.conf文件中包含字符串to的行,to要高亮显示 grep -i to /etc/sudu.conf —color


管道命令: |
将前一个命令的输出作为本次命令的输入

ps -ef | grep -i system
示例:查看当前系统中所有的进程中包括system字符串的进程
Linux入门+软件_装+项目部署 - 图6

网络通信命令:
查看当前系统的网卡信息:ifconfig
查看与某台机器的连接情况:ping 192.168.1.123
查看当前系统的端口使用:netstat -nao

重启命令:reboot
立即关机:halt

远程连接工具的使用

192.168.228.128
Linux窗口操作的缺点:
1. 字体样式也不够美观,也不太方便进行复制、黏贴等操作
2. Linux服务器版主要用来运行应用程序,而应用程序的开发及部署工作都是在windows操作系统中完成
3. Linux服务器一般都在机房,而机房一般不在本地,况且,机房重地,禁止入内!

因此,我们使用第三方工具连接Linux服务器,第三方工具有很多种,比较常见的有:
1. SecureCRT,功能强大,收费产品
2. SSHSecureShellClient
3. XShell
4. putty:精巧


介绍其中2种:SecureCRT和putty

安装及使用:
SecureCRT安装及破解.doc
putty设置及使用技巧.doc

提示:putty中的使用技巧在其他的远程工具中基本也是通用的!

文件上传、下载

sftp(了解)

步骤:
1. 按Alt + p打开sftp窗口
在sftp窗口中,一样可以使用命令来操作Linux中的文件,例如:
切换到根目录:cd /
在根目录下创建abc目录:mkdir /abc
查看当前所在的目录:pwd


但是有些命令无法使用,例如软件安装命令rpm等,因此一般只使用sftp上传文件。

还可以像操作Linux那样来作本地文件,例如:
切换到本地d盘:lcd d:/
在d盘下创建abc目录:lmkdir d:/abc
查看在本地的当前位置:lpwd
规律就是在命令前加小写的l(唉偶。。。)

2. 新建目录/usr/soft,一般软件包都放在这,并进入该目录
mkdir /usr/soft
cd /usr/soft

3. 上传本地文件
上传本地文件到Linux:put -r 文件…
下载Linux文件到本地:get -r 文件…

可以先使用lcd命令进入要上传的文件所在的目录(过程中多使用Tab键提示,多使用lpwd查看本地当前所在的位置)
然后输入命令:put -r 文件… 或者 put -r 文件全路径

注意:如果上传或下载的文件中有文件夹,必须使用-r(递归),如果只是文件,可以不加

rzsz(重点)

使用rz命令完成文件上传,默认没有rz命令,需要安装才能使用:
1. 软件包一般放在/usr目录下,新建目录/usr/soft:mkdir /usr/soft
2. 将lrzsz-0.12.20-27.1.el6.x86_64.rpm上传到/usr/soft,可以使用sftp的方式
3. 输入命令:rpm -ivh /usr/soft/lrzsz-0.12.20-27.1.el6.x86_64.rpm
安装过程中,出现警告信息:warning: lrzsz-0.12.20-27.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Linux入门+软件_装+项目部署 - 图7
在linux中安装软件时,会对软件包进行签名验证,而linux默认安装了旧版本的GPG keys造成的,因此对很多软件包不能够识别,
而实际安装之后软件能够正常使用,但。。。解决办法是运行以下命令:
rpm —import /etc/pki/rpm-gpg/RPM*
但是在安装其他软件时(非Linux镜像中的软件包),还是有可能会出现类似的签名警告,可以在安装时不进行签名检查:
rpm -ivh /usr/soft/lrzsz-0.12.20-27.1.el6.x86_64.rpm —nosignature

文件上传:输入命令rz,回车,会弹出选择文件的窗口,双击要上传的文件,添加到上传列表,可以一次上传多个文件,点击OK开始上传
文件下载:输入命令sz 文件… 回车即可

文件上传和下载的默认位置(可选设置):
Linux入门+软件_装+项目部署 - 图8
Linux入门+软件_装+项目部署 - 图9

软件安装命令

命令:rpm [选项]… 软件包
常用选项:
-i   安装指定的软件
-e   删除指定的软件
-U 升级指定的软件
-q 软件包 查询指定软件包
-a   查询所有软件包,需要配合选项q一起使用
-v   显示指令执行过程
-h   显示安装进度
—nodeps   不验证软件包之间的依赖 a依赖b软件 直接安装a,不让安装
—nosignature 安装时,不进行签名验证
—replacepkgs 如果已经安装,则重新安装
最常用:
安装:rpm -ivh rpm文件
删除:rpm -e —nodeps 软件名
升级:rpm -Uvh rpm文件
查看:rpm -qa,通常结合管道一起使用,例如:rpm -qa | grep -I mysql

安装JDK

步骤:
1. 查看当前Linux系统是否已经安装java
命令:rpm -qa | grep -i java
Linux入门+软件_装+项目部署 - 图10
2. 卸载两个openJDK
命令:rpm -e —nodeps 要卸载的软件,-e表示卸载,—nodeps表示不检查依赖关系
rpm -e —nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64
rpm -e —nodeps java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64
Linux入门+软件_装+项目部署 - 图11
3. 使用rz命令上传jdk到linux,或者使用图形化界面
4. 解压jdk到/usr/soft
cd /usr/soft
tar -xvf jdk-7u80-linux-x64.tar.gz

5. 配置jdk环境变量
编辑配置文件/etc/profile:vim /etc/profile
Shift+g快速定位到该文件的最下方,然后按o,在当前行的下一行插入如下内容:jre1.8.0_211
#set java environment
JAVA_HOME=/usr/soft/jre1.8.0_211
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
Linux入门+软件_装+项目部署 - 图12
6. 重新加载/etc/profile配置文件
命令:. /etc/profile source /etc/profile
Linux入门+软件_装+项目部署 - 图13
7. 测试安装: 输入 java javac
Linux入门+软件_装+项目部署 - 图14

安装MySQL

步骤:
1. 查看CentOS自带的mysql
命令:rpm -qa | grep -i mysql
Linux入门+软件_装+项目部署 - 图15
2. 将自带的mysql卸载
命令:rpm -e —nodeps mysql-libs-5.1.73-8.el6_8.x86_64
Linux入门+软件_装+项目部署 - 图16
3. 使用rz命令上传MySQL到linux
4. 解压MySQL到/usr/soft/下的mysql目录
cd /usr/soft
mkdir mysql
tar -xvf MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar -C mysql
Linux入门+软件_装+项目部署 - 图17

5. 在/usr/soft/mysql下安装mysql
切换到mysql:cd /usr/soft/mysql
安装服务器端:rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm —nosignature
安装客户端:rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm —nosignature

6. 启动mysql
service mysql start

7. 将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig —add mysql
自动启动:chkconfig mysql on

8. 登录mysql
mysql安装好后会生成一个临时随机密码,存储位置在,查看密码:head /root/.mysql_secret
mysql –uroot -p密码 回车

9. 修改mysql的密码
set password = password(‘root’);

10. 开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on . to ‘root’ @’%’ identified by ‘root’;
flush privileges;

11. 开放Linux的对外访问的端口3306
/sbin/iptables -I INPUT -p tcp —dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save —-将修改永久保存到防火墙中

12. 修改mysql的编码方式为utf8
mysql默认使用的编码方式是:latin1,需要修改为utf8,当前编码方式可以执行如下SQL进行查看
show variables like ‘character%’;
show variables like ‘coll%’;
Linux入门+软件_装+项目部署 - 图18

mysql的配置信息在/usr/my.cnf中,编辑该文件,添加如下配置:
vim /usr/my.cnf
[mysqld]
……

character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8

如下图所示:
Linux入门+软件_装+项目部署 - 图19

编辑完成之后,按ESC,输入”:wq”保存并退出
重启mysql服务器,service mysql restart
再次执行SQL查看编码方式:
Linux入门+软件_装+项目部署 - 图20

安装Tomcat

步骤:
1. 上传Tomcat到linux上
2. 解压Tomcat到/usr/soft下:
cd /usr/soft
tar -xvf apache-tomcat-7.0.77.tar.gz

3. 开放Linux的对外访问的端口8080
/sbin/iptables -I INPUT -p tcp —dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save

4. Tomcat的启动和关闭
进入tomcat的bin下启动:./startup.sh
进入tomcat的bin下关闭:./shutdown.sh

注意:在linux中执行某个文件时,一定要加”./“,不能直接文件名,否则会当做命令来执行

安装Redis

虚拟机、Linux以及Linux远程连接工具,之前的课程中已经搭建完成。

redis建议安装在linux服务器上运行,官方并未提供windows版的redis,
而事实上微软也开发了基于windows的redis,用法和Linux的redis一样。

安装redis的编译环境

Redis是C语言开发,安装redis前需要先将官网下载的源码进行编译,需要安装编译环境,gcc-c++:
安装命令:yum install gcc-c++

rpm和yum的区别
rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装、卸载、升级、查询等工作。但是rpm软件包之间可能有依赖关系,处理这些依赖性问题往往会很繁琐。例如使用rpm安装gcc环境时,首先要有gcc的rpm包,如果没有则需要先下载gbb的软件包并上传到Linux服务器,但是在安装gcc-c++时,会出现如下错误提示:
Linux入门+软件_装+项目部署 - 图21

意思是gcc-c++环境需要依赖gcc、libmpfr、libstdc这3个包,费了九牛二虎之力从网上找到这3个包并上传到服务进行安装,但是!在安装这3个包时,又会出现新的类似的错误提示,然后接下来:下载、安装、看到错误提示、下载、安装、看到错误提示、下载、安装……最后终于搞定了!
整个过程安装了N个软件包,而且需要按照一定的顺序安装,显然你的内心是崩溃的!

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。但是,在没有网络的情况下,yum是不能正常使用的,这点可以通过制作本地yum源(本地软件仓库)的方式解决,在不联网的情况下也可以使用,CentOS的镜像(dvd1和dvd2)中包含了开发过程中最常用的软件包,但是在安装系统时并未全部安装,我们可以将其作为材料,制作成本地yum源,制作好之后,在使用上和有网络环境没有区别。

制作本地yum源,参见:制作本地yum源(软件仓库).doc
更多yum的命令,参见:使用yum命令安装软件.doc

如果没有网络,也没有制作本地yum源,也可以使用rpm进行安装,步骤:
1、创建相关目录,并进入
mkdir -p /usr/soft/gcc-c++
cd /usr/soft/gcc-c++

2、使用rz命令上传gcc-c++环境所需的所有软件包资料\gcc-c++
3、执行安装,直接使用如下命令32位:
rpm -ivh —nodeps cloog-ppl-0.15.7-1.2.el6.i686.rpm
rpm -ivh —nodeps cpp-4.4.7-18.el6.i686.rpm
rpm -ivh —nodeps gcc-4.4.7-18.el6.i686.rpm
rpm -ivh —nodeps gcc-c++-4.4.7-18.el6.i686.rpm
rpm -ivh —nodeps libstdc++-devel-4.4.7-18.el6.i686.rpm
rpm -ivh —nodeps mpfr-2.4.1-6.el6.i686.rpm
rpm -ivh —nodeps ppl-0.10.2-11.el6.i686.rpm

64位:
rpm -ivh —nodeps cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh —nodeps cpp-4.4.7-18.el6.x86_64.rpm
rpm -ivh —nodeps gcc-4.4.7-18.el6.x86_64.rpm
rpm -ivh —nodeps gcc-c++-4.4.7-18.el6.x86_64.rpm
rpm -ivh —nodeps libstdc++-devel-4.4.7-18.el6.x86_64.rpm
rpm -ivh —nodeps mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh —nodeps ppl-0.10.2-11.el6.x86_64.rpm

安装Redis

步骤:
1、 上传redis到Linux服务器
Linux入门+软件_装+项目部署 - 图22

1、 解压文件:tar -xvf redis-4.0.0.tar.gz
Linux入门+软件_装+项目部署 - 图23

2、 编译redis(将.c文件编译为.o文件) java ==> class
cd redis-4.0.0
make
Linux入门+软件_装+项目部署 - 图24

3、 安装redis(需要进入到redis解压后的目录中进行安装)
make PREFIX=/usr/soft/redis install

PREFIX=/usr/soft/redis的意思是将redis安装到/usr/soft/redis目录下
Linux入门+软件_装+项目部署 - 图25

安装完成!在/usr/soft目录下,会有一个redis目录
Linux入门+软件_装+项目部署 - 图26

进入redis目录,下面有个bin目录,bin目录下有几个可执行文件
Linux入门+软件_装+项目部署 - 图27

redis-benchmark ——性能测试工具
redis-check-aof ——AOF文件修复工具
redis-check-dump ——RDB文件检查工具(快照持久化文件)
redis-cli ——命令行客户端
redis-server ——redis服务器启动命令

Redis的启动和停止

前端模式启动

进入到/usr/soft/redis/bin目录下,执行redis-server
cd /usr/soft/redis/bin
./redis-server
此种方式启动,我们习惯称为前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,
如果要操作必须使用ctrl+c,此时redis-server程序结束,不推荐使用此方法。
Linux入门+软件_装+项目部署 - 图28

使用Ctrl + C 停止前端启动模式
Linux入门+软件_装+项目部署 - 图29

后端模式启动

后端启动方式,需要使用redis的配置文件redis.conf,该文件的位置:/usr/soft/redis-4.0.0/redis.conf,在这个配置文件中,可以修改端口号等信息,为了方便使用,将该配置文件copy一份到redis的bin目录下
cp /usr/soft/redis-4.0.0/redis.conf /usr/soft/redis/bin

然后修改该配置文件中的daemonize no为daemonize yes
vim /usr/soft/redis/bin/redis.conf,先不进入编辑模式,内容太多,需要搜索,在命令模式下输入/daemonize no,回车。
Linux入门+软件_装+项目部署 - 图30
然后再按 Shift + A,进入编辑模式并将光标定位在当前行的末尾,将no改为yes
Linux入门+软件_装+项目部署 - 图31

启动redis服务器:
cd /usr/soft/redis/bin
./redis-server redis.conf
Linux入门+软件_装+项目部署 - 图32

停止Redis

l 强制结束程序,可能会导致redis持久化数据丢失!企业中禁止使用!

查看redis进程端口占用:ps -ef | grep -i redis
Linux入门+软件_装+项目部署 - 图33

强制杀死进程:kill -9 31123

l 正确停止Redis的方式应该是向Redis发送SHUTDOWN命令:

cd /usr/sfot/redis/bin
./redis-cli shutdown

项目部署

a. 启动MySQL、启动redis、启动tomcat
a) service mysql start 已经设置了开机启动,无需再次启动
b) 进入redis的bin目录 ./redis-server redis.conf
c) 进入tomcat的bin目录 ./startup.sh
b. 使用eclipse将项目打成war包
c. 使用rz命令将war包上传到linux中的tomcat中的webapps目录
d. 使用SQLYog连接到linux中的mysql,并导入数据estore.sql
e. 访问测试