请选择 进入手机版 | 继续访问电脑版

[linux shell] Linux全网最全面常用下令 整理(附实例)

[复制链接]
查看101 | 回复19 | 2021-9-12 15:29:35 | 显示全部楼层 |阅读模式
目次

一、基本下令

1.1 关机和重启

关机

  1. shutdown -h now 立刻关机
  2. shutdown -h 5 5分钟后关机
  3. poweroff 立刻关机
复制代码

重启

  1. shutdown -r now 立刻重启
  2. shutdown -r 5 5分钟后重启
  3. reboot 立刻重启
复制代码

1.2 帮助下令

  1. --help命令
  2. shutdown --help:
  3. ifconfig --help:查看网卡信息
复制代码
  1. man命令(命令说明书)
  2. man shutdown
  3. 注意:man shutdown打开命令说明书之后,使用按键q退出
复制代码

二、目次 操作下令

2.1 目次 切换 cd

下令 :cd 目次

  1. cd / 切换到根目录
  2. cd /usr 切换到根目录下的usr目录
  3. cd ../ 切换到上一级目录 或者 cd ..
  4. cd ~ 切换到home目录
  5. cd - 切换到上次访问的目录
复制代码

2.2 目次 查看 ls [-al]

下令 :ls [-al]

  1. ls 查看当前目录下的所有目录和文件
  2. ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
  3. ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
  4. ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
复制代码

2.3 目次 操作【增,删,改,查】

2.3.1 创建目次 【增】 mkdir

下令 :mkdir 目次

  1. mkdir aaa 在当前目录下创建一个名为aaa的目录
  2. mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
复制代码

2.3.2 删除目次 或文件【删】rm

下令 :rm [-rf] 目次

删除文件:

  1. rm 文件 删除当前目录下的文件
  2. rm -f 文件 删除当前目录的的文件(不询问)
复制代码

删除目次 :

  1. rm -r aaa 递归删除当前目录下的aaa目录
  2. rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
复制代码

全部删除:

  1. rm -rf * 将当前目录下的所有目录和文件全部删除
  2. rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
复制代码

  1. 注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
复制代码

2.3.3 目次 修改【改】mv 和 cp

一、重命格局 录

  1. 命令:mv 当前目录 新目录
  2. 例如:mv aaa bbb 将目录aaa改为bbb
  3. 注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
复制代码

二、剪切目次

下令 :mv 目次 名称 目次 的新位置
示例:将/usr/tmp目次 下的aaa目次 剪切到 /usr目次 下面 mv /usr/tmp/aaa /usr
留意 :mv语法不仅可以对目次 举行 剪切操作,对文件和压缩包等都可实行 剪切操作

三、拷贝目次

  1. 命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
  2. 示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
  3. 注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
复制代码

2.3.4 搜刮 目次 【查】find

  1. 命令:find 目录 参数 文件名称
  2. 示例:find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
复制代码

三、文件操作下令

3.1 文件操作【增,删,改,查】

3.1.1 新建文件【增】touch

  1. 命令:touch 文件名
  2. 示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt
复制代码

3.1.2 删除文件 【删】 rm

  1. 命令:rm -rf 文件名
复制代码

3.1.3 修改文件【改】 vi或vim

【vi编辑器的3种模式】
基本上vi可以分为三种状态,分别是下令 模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

下令 行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
下令 行模式下的常用下令 :

  1. 【1】控制光标移动:↑,↓,j
  2. 【2】删除当前行:dd
  3. 【3】查找:/字符
  4. 【4】进入编辑模式:i o a
  5. 【5】进入底行模式::
复制代码

编辑模式(Insert mode) 只有在Insert mode下,才可以做笔墨 输入,按「ESC」键可回到下令 行模式。
编辑模式下常用下令 :

  1. 【1】ESC 退出编辑模式到命令行模式;
复制代码

底行模式 将文件保存或退出vi,也可以设置编辑环境,如探求 字符串、列出行号……等。
底行模式下常用下令 :

  1. 【1】退出编辑: :q
  2. 【2】强制退出: :q!
  3. 【3】保存并退出: :wq
复制代码

打开文件

下令 :vi 文件名
示例:打开当前目次 下的aa.txt文件 vi aa.txt 或者 vim aa.txt

留意 :利用 vi编辑器打开文件后,并不能编辑,由于 此时处于下令 模式,点击键盘i/a/o进入编辑模式。

编辑文件

利用 vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

  1. i:在光标所在字符前开始插入
  2. a:在光标所在字符后开始插入
  3. o:在光标所在行的下面另起一新行插入
复制代码

保存或者取消编辑

保存文件:

  1. 第一步:ESC 进入命令行模式
  2. 第二步:: 进入底行模式
  3. 第三步:wq 保存并退出编辑
复制代码

取消编辑:

  1. 第一步:ESC 进入命令行模式
  2. 第二步:: 进入底行模式
  3. 第三步:q! 撤销本次修改并退出编辑
复制代码

3.1.4 文件的查看【查】

  1. 文件的查看命令:cat/more/less/tail
复制代码

cat:看末了 一屏

示例:利用 cat查看/etc/sudo.conf文件,只能表现 末了 一屏内容

  1. cat sudo.conf
复制代码

more:百分比表现

示例:利用 more查看/etc/sudo.conf文件,可以表现 百分比,回车可以向下一行,空格可以向下一页,q可以退出查看

  1. less sudo.conf
复制代码

less:翻页查看

示例:利用 less查看/etc/sudo.conf文件,可以利用 键盘上的PgUp和PgDn向上 和向下翻页,q竣事 查看

  1. less sudo.conf
复制代码

tail:指定行数或者动态查看

示例:利用 tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C竣事

  1. tail -10 sudo.conf
复制代码

3.2 权限修改

rwx:r代表可读,w代表可写,x代表该文件是一个可实行 文件,假如 rwx恣意 位置变为-则代表不可读或不可写或不可实行 文件。

示例:给aaa.txt文件权限改为可实行 文件权限,aaa.txt文件的权限是-rw-------

第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者地点 的组,组员的权限
第三段(末了 3位):代表的是其他用户的权限

421 421 421

rw- — —

  1. 命令:chmod +x aaa.txt
  2. 或者采用8421法
  3. 命令:chmod 100 aaa.txt
复制代码

四、压缩文件操作

4.1 打包和压缩

Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一样平常 是以.tar末了 的,压缩的下令 一样平常 是以.gz末了 的。
而一样平常 环境 下打包和压缩是一起举行 的,打包并压缩后的文件的后缀名一样平常 .tar.gz。

下令 :tar -zcvf 打包压缩后的文件名 要打包的文件
此中 :z:调用gzip压缩下令 举行 压缩
c:打包文件
v:表现 运行过程
f:指定文件名

示例:打包并压缩/usr/tmp 下的全部 文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *

4.2 解压

下令 :tar [-zxvf] 压缩文件
此中 :x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目次 下

在这里插入图片形貌

示例:将/usr/tmp 下的ab.tar解压到根目次 /usr下
tar -xvf ab.tar -C /usr------C代表指定解压的位置

在这里插入图片形貌

五、查找下令

5.1 grep

grep下令 是一种强盛 的文本搜刮 工具

利用 实例:

  1. ps -ef | grep sshd 查找指定ssh服务进程
  2. ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
  3. ps -ef | grep sshd -c 查找指定进程个数
复制代码

5.2 find

find下令 在目次 布局 中搜刮 文件,并对搜刮 效果 实行 指定的操作。

find 默认搜刮 当前目次 及其子目次 ,并且不过滤任何效果 (也就是返回全部 文件),将它们全都表现 在屏幕上。

利用 实例:

  1. find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
  2. find /root/ -perm 600 查找/root/目录下权限为600的文件
  3. find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
  4. find . -type d | sort 查找当前所有目录并排序
  5. find . -size +100M 查找当前目录大于100M的文件
复制代码

5.3 locate

locate 让利用 者可以很快速的征采 某个路径。默认天天 主动 更新一次,以是 利用 locate 下令 查不到最新变动过的文件。为了避免这种环境 ,可以在利用 locate之前,先利用 updatedb下令 ,手动更新数据库。假如 数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory该错误!updatedb即可!

  1. yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令
复制代码

利用 实例:

  1. updatedb
  2. locate /etc/sh 搜索etc目录下所有以sh开头的文件
  3. locate pwd 查找和pwd相关的所有文件
复制代码

5.4 whereis

whereis下令 是定位可实行 文件、源代码文件、帮助文件在文件体系 中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

利用 实例:

  1. whereis ls 将和ls文件相关的文件都查找出来
复制代码

5.5 which

which下令 的作用是在PATH变量指定的路径中,搜刮 某个体系 下令 的位置,并且返回第一个搜刮 效果 。

利用 实例:

  1. which pwd 查找pwd命令所在路径
  2. which java 查找path中java的路径
复制代码

六、su、sudo

6.1 su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。假如 是root 向平常 或假造 用户切换不必要 暗码 ,反之平常 用户切换到别的 任何用户都必要 暗码 验证。

  1. su test:切换到test用户,但是路径还是/root目录
  2. su - test : 切换到test用户,路径变成了/home/test
  3. su : 切换到root用户,但是路径还是原来的路径
  4. su - : 切换到root用户,并且路径是/root
复制代码

su不足:假如 某个用户必要 利用 root权限、则必须要把root暗码 告诉此用户。

退出返回之前的用户:exit

6.2 sudo

sudo是为全部 想利用 root权限的平常 用户计划 的。可以让平常 用户具有临时 利用 root权限的权利。只需输入本身 账户的暗码 即可。

进入sudo设置 文件下令 :

vi /etc/sudoer或者visudo

  1. 案例:
  2. 允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
  3. hadoop ALL=(ALL) ALL
  4. 案例:
  5. 只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
  6. 配置文件中:
  7. hadoop ALL=NOPASSWD: /bin/ls, /bin/cat
复制代码

七、体系 服务

  1. service iptables status --查看iptables服务的状态
  2. service iptables start --开启iptables服务
  3. service iptables stop --停止iptables服务
  4. service iptables restart --重启iptables服务
  5. chkconfig iptables off --关闭iptables服务的开机自启动
  6. chkconfig iptables on --开启iptables服务的开机自启动
复制代码

八、网络管理

8.1 主机名设置

  1. [root@node1 ~]# vi /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=node1
复制代码

8.2 IP 地址设置

  1. [root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
复制代码

8.3 域名映射

/etc/hosts文件用于在通过主机名举行 访问时做ip地址剖析 之用。以是 ,你想访问一个什么样的主机名,就必要 把这个主机名和它对应的ip地址。

  1. [root@node1 ~]# vi /etc/hosts
  2. #### 在最后加上
  3. 192.168.52.201 node1
  4. 192.168.52.202 node2
  5. 192.168.52.203 node3
复制代码

九、定时任务 指令crontab 设置

crontab是Unix和Linux用于设置定时任务 的指令。通过crontab下令 ,可以在固定间隔时间,实行 指定的体系 指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的恣意 组合。

crontab安装:

  1. yum install crontabs
复制代码

服务操作阐明 :

  1. service crond start ## 启动服务
  2. service crond stop ## 关闭服务
  3. service crond restart ## 重启服务
复制代码

9.1 下令 格式

crontab [-u user] file

  1. crontab [-u user] [ -e | -l | -r ]
复制代码

参数阐明 :

-u user:用来设定某个用户的crontab服务

file:file是下令 文件的名字,表示将file做为crontab的任务 列表文件

并载入crontab。

-e:编辑某个用户的crontab文件内容。假如 不指定用户,则表示编辑当前

用户的crontab文件。

-l:表现 某个用户的crontab文件内容。假如 不指定用户,则表示表现 当前

用户的crontab文件内容。

-r:删除定时任务 设置 ,从/var/spool/cron目次 中删除某个用户的crontab

文件,假如 不指定用户,则默认删除当前用户的crontab文件。

下令 示例:

  1. crontab file [-u user] ## 用指定的文件替代目前的crontab
  2. crontab -l [-u user] ## 列出用户目前的crontab
  3. crontab -e [-u user] ## 编辑用户目前的crontab
复制代码

9.2 设置 阐明 、实例

下令 :* * * * * command

表明 :分 时 日 月 周 下令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时0~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的下令

设置 实例:

  1. 先打开定时任务所在的文件:
  2. crontab -e
  3. 每分钟执行一次date命令
  4. */1 * * * * date >> /root/date.txt
  5. 每晚的21:30重启apache。
  6. 30 21 * * * service httpd restart
  7. 每月1、10、22日的4 : 45重启apache。
  8. 45 4 1,10,22 * * service httpd restart
  9. 每周六、周日的1 : 10重启apache。
  10. 10 1 * * 6,0 service httpd restart
  11. 每天18 : 00至23 : 00之间每隔30分钟重启apache。
  12. 0,30 18-23 * * * service httpd restart
  13. 晚上11点到早上7点之间,每隔一小时重启apache
  14. * 23-7/1 * * * service httpd restart
复制代码

十、其他下令

10.1 查看当前目次 :pwd

  1. 命令:pwd 查看当前目录路径
复制代码

10.2 查看进程 :ps -ef

  1. 命令:ps -ef 查看所有正在运行的进程
复制代码

10.3 竣事 进程 :kill

  1. 命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号
复制代码

10.4 网络通讯 下令 :

ifconfig:查看网卡信息

  1. 命令:ifconfig 或 ifconfig | more
复制代码
  1. ping:查看与某台机器的连接情况
  2. 命令:ping ip
复制代码

netstat -an:查看当前体系 端口

  1. 命令:netstat -an
复制代码

搜刮 指定端口

  1. 命令:netstat -an | grep 8080
复制代码

10.5 设置 网络

  1. 命令:setup
复制代码

10.6 重启网络

  1. 命令:service network restart
复制代码

10.7 切换用户

  1. 命令:su - 用户名
复制代码

10.8 关闭防火墙

  1. 命令:chkconfig iptables off
复制代码

或者:

  1. iptables -L;
  2. iptables -F;
  3. service iptables stop
复制代码

10.9 修改文件权限

  1. 命令:chmod 777
复制代码

10.10 清屏

  1. 命令:ctrl + l
复制代码

10.11 vi模式下快捷键

  1. esc后:
  2. 保存并退出快捷键:shift+z+z
  3. 光标跳到最后一行快捷键:shift+g
  4. 删除一行:dd
  5. 复制一行内容:y+y
  6. 粘贴复制的内容:p
复制代码

十一、Linux项目部署

11.1 安装jdk1.8

先卸载open-jdk

  1. java -version
  2. rpm -qa | grep java
  3. rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
  4. rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
复制代码

开始安装:

  1. mkdir /usr/local/src/java
  2. rz 上传jdk tar包
  3. tar -zxvf jdk-8u181-linux-x64.tar.gz
  4. yum install glibc.i686
复制代码

设置 环境变量:

  1. vi /etc/profile
复制代码

在末端 行添加

  1. #set java environment
  2. JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_181
  3. CLASSPATH=.:$JAVA_HOME/lib.tools.jar
  4. PATH=$JAVA_HOME/bin:$PATH
  5. export JAVA_HOME CLASSPATH PATH
复制代码

保存退出
source /etc/profile 使更改的设置 立即 见效
java -version 查看JDK版本信息,假如 表现 出1.8证明 成功

11.2 安装MySQL5.6

11.2.1 上传MySQL5.6的tar包

创建目次 :mkdir /usr/local/src/mysql5.6

上传:MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar 到上面的目次 中

11.2.2 安装

第一步:解压

下令 :tar -xvf MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar

第二步:检测是否已经安装了mysql

下令 :rpm -qa | grep mysql

假如 已经安装了,将其卸载,如:

  1. rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
复制代码

第三步:安装MySQL的服务端

  1. 命令:rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm
复制代码

第四步:安装MySQL的客户端

  1. 命令:rpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpm
复制代码

第五步:查看MySQL服务运行状态

  1. 命令:service mysql status
复制代码

第六步:启动MySQL服务

  1. 命令:service mysql start
复制代码

第七步:利用 root账号登录mysql

在安装mysql server时有句提示:

在这里插入图片形貌

  1. 注意:这个密码是不安全的,所有需要修改初始密码。
复制代码

  1. 1.使用密码登录mysql账号:mysql -uroot -p 2.修改root密码:SET PASSWORD = PASSWORD('root');
复制代码

11.2.3 开机主动 启动设置

加入到体系 服务:

  1. chkconfig --add mysql
复制代码

主动 启动:

  1. chkconfig mysql on
复制代码

查询列表:

  1. chkconfig
复制代码

  1. 说明:都没关闭(off)时是没有自动启动。
复制代码

11.2.4 开启长途 访问

登录:

  1. mysql -uroot –proot
  2. 设置远程访问(使用root密码):
  3. grant all privileges on *.* to 'root' @'%' identified by 'root';
  4. flush privileges;
  5. 退出mysql,在centos环境下打开3306防火墙
  6. /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  7. /etc/rc.d/init.d/iptables save
  8. /etc/init.d/iptables status
复制代码

11.3 安装tomcat部署项目

预备 工作:将web项目打成war包,改名为ROOT.war

11.3.1 创建ucenter用户

一样平常 环境 下,发布应用程序都不是利用 root用户的,必要 创建一个平常 用户来发布程序;

创建ucenter用户:

  1. useradd -d /ucenter ucenter
复制代码

设置暗码 :

  1. passwd ucenter (密码 ucenter)
复制代码

切换用户:

  1. su - ucenter
复制代码

11.3.2 安装Tomcat

tomcat只要解压就可以利用 。

1、创建web目次

  1. mkdir /ucenter/web
复制代码

2、上传apache-tomcat-7.0.57.tar.gz

3、解压:tar -xvf apache-tomcat-7.0.57.tar.gz

4、重定名 :mv apache-tomcat-7.0.57 itcast-usermanage

5、启动tomcat:

  1. cd itcast-usermanage/bin/
  2. ./startup.sh 或者 sh startup.sh
复制代码

6、查看日志 :
tail -f …/logs/catalina.out

7、查看效果 http://192.168.0.160:8080/

发现无法访问:

在这里插入图片形貌

8、防火墙打开 8080 端口

  1. /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
  2. /etc/rc.d/init.d/iptables save
复制代码

9、安装成功

在这里插入图片形貌

11.3.3 部署用户管理项目

1、上传usermanage.sql和ROOT.war到/ucenter/web

2、实行 数据库脚本

  1. cat user_manager.sql | mysql -uroot -p123456
复制代码

3、部署web程序

3.1 删除webapps下的全部 文件

  1. cd /ucenter/web/usermanage/webapps
  2. rm -rf *
复制代码

3.2 拷贝ROOT.war到webapps

  1. cp /ucenter/web/ROOT.war .
复制代码

3.3 重新启动tomcat

  1. cd ../bin/
  2. sh startup.sh && tail -f ../logs/catalina.out
复制代码

3.4 启动欣赏 器测试

  1. 注意事项:Centos环境下部署项目中文乱码问题解决方案
复制代码

本日 在一台新的CentOS机器上利用 c3p0毗连 池操作mysql数据库出现中文乱码题目 ,详细 表现为:查询时无中文乱码题目 ,写数据时中文乱码,查看了机器上数据库字符集也是UTF8,应该不会出现中文乱码才对,末了 在c3p0设置 文件中 jdbcUrl后加上:?useUnicode=true&characterEncoding=UTF8 中文就不会乱码了。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <c3p0-config>
  3. <default-config>
  4. <property name="driverClass">com.mysql.jdbc.Driver</property>
  5. <property name="jdbcUrl">jdbc:mysql://localhost:3306/user_manager_yun6?useUnicode=true&amp;characterEncoding=UTF8 </property>
  6. <property name="user">root</property>
  7. <property name="password">root</property>
  8. <property name="acquireIncrement">2</property>
  9. <property name="initialPoolSize">5</property>
  10. <property name="minPoolSize">1</property>
  11. <property name="maxPoolSize">5</property>
  12. </default-config>
  13. </c3p0-config>
复制代码

11.4 Linux下利用 FastDFS

干系 的安装包我打包到云盘上了,链接:https://pan.baidu.com/s/1hG4cEel58EOimR7GfmfDJA提取码:edu0

单节点FastDFS

  1. 整个安装过程非常复杂,很容易出错,建议进行多次备份。
  2. 我们这里不打算安装多台虚拟机,因此会把tracker和storage都安装在一起。
复制代码

11.4.1 安装gcc

GCC用来对C语言代码举行 编译运行,利用 yum下令 安装:

  1. yum -y install gcc
复制代码

后面会用到解压下令 (unzip),以是 这里可以用yum把unzip 也装一下

  1. yum install -y unzip zip
复制代码

11.4.2 安装libevent

  1. yum -y install libevent
复制代码

11.4.3 安装libfastcommon-master

解压刚刚上传的libfastcommon-master.zip

  1. unzip libfastcommon-master.zip
复制代码

进入解压完成的目次

  1. cd libfastcommon-master
复制代码

编译并且安装:

  1. ./make.sh
  2. ./make.sh install
复制代码

11.4.4 安装fastdfs

  1. tar -zxvf FastDFS_v5.08.tar.gz
  2. cd FastDFS
  3. ./make.sh
  4. ./make.sh install
复制代码

假如 安装成功,会看到/etc/init.d/下看到提供的脚本文件:

  1. ll /etc/init.d/ | grep fdfs
复制代码

在这里插入图片形貌

  • fdfs_trackerd 是tracker启动脚本
  • fdfs_storaged 是storage启动脚本

可以或许 在 /etc/fdfs/ 目次 下看到默认的设置 文件模板:*

  1. ll /etc/fdfs/
复制代码

在这里插入图片形貌

  • tarcker.conf.sample 是tracker的设置 文件模板
  • storage.conf.sample 是storage的设置 文件模板
  • client.conf.sample 是客户端的设置 文件模板

11.4.5 设置 并启动tracker服务

1)起首 将模板文件复制

  1. cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
复制代码

2)修改复制后的设置 文件:

  1. vim /etc/fdfs/tracker.conf
  2. # 修改的内容如下:
  3. base_path=/项目名/tracker # 存储日志和数据的根目录
复制代码

3)新建目次 :

mkdir -p /项目名/tracker
留意 :关闭防火墙:

  1. chkconfig iptables off
复制代码

4)启动和克制

service fdfs_trackerd start # 启动fdfs_trackerd服务,克制 用stop
检查FastDFS Tracker Server是否启动成功:

  1. ps -ef | grep fdfs_trackerd
复制代码

设置tracker服务开机启动:

  1. chkconfig fdfs_trackerd on
复制代码

11.4.6 设置 并启动storage服务

1)起首 将模板文件复制

  1. cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
复制代码

2)修改复制后的设置 文件:

  1. vim /etc/fdfs/storage.conf
  2. # 修改的内容如下:
  3. base_path=/项目名/storage # 数据和日志文件存储根目录
  4. store_path0=/项目名/storage # 第一个存储目录
  5. tracker_server=192.168.56.101:22122 # tracker服务器IP和端口
复制代码

3)新建目次 :

  1. mkdir -p /项目名/storage
  2. 注意关闭防火墙: chkconfig iptables off
复制代码

4)启动和克制

service fdfs_storaged start # 启动fdfs_storaged服务,克制 用stop
设置storage服务开机启动:

  1. chkconfig fdfs_storaged on
复制代码

ps -ef | grep fdfs

在这里插入图片形貌

11.5 安装fastdfs-nginx-module

11.5.1 解压

  1. tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
复制代码

11.5.2 修改config

1)进入src目次

  1. cd fastdfs-nginx-module/src/
复制代码

2)编辑config

  1. vim config
复制代码

利用 以下底行下令 :

  1. :%s+/usr/local/+/usr/+g
复制代码

将全部 的/usr/local更换 为 /usr,这个才是准确 的目次 :

在这里插入图片形貌

11.5.3 设置 nginx与FastDFS关联设置 文件

复制 fastdfs-nginx-module 源码中的设置 文件到/etc/fdfs 目次 , 并修改

  1. cp /usr/local/项目名/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
  2. vi /etc/fdfs/mod_fastdfs.conf
复制代码

修改以下设置 :

  1. connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
  2. tracker_server=192.168.56.101:22122 # tracker服务IP和端口
  3. url_have_group_name=true # 访问链接前缀加上组名
  4. store_path0=/leyou/storage # 文件存储路径
复制代码

复制 FastDFS 的部分设置 文件到/etc/fdfs 目次

  1. cd /usr/local/项目名/FastDFS/conf/
  2. cp http.conf mime.types /etc/fdfs/
复制代码

11.6 安装Nginx的插件

11.6.1 假如 没有安装过nginx

1、安装nginx的依赖 库

  1. yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
复制代码

2、解压安装包

  1. tar -zxvf nginx-1.10.0.tar.gz
复制代码

3、设置 nginx安装包,并指定fastdfs-nginx-model

  1. cd nginx-1.10.0
  2. ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/leyou/fastdfs-nginx-module/src
复制代码

**留意 :**在实行 ./configure设置 nginx参数的时间 ,必要 将fastdfs-nginx-moudle源码作为模块编译进去。

4、编译并安装

  1. make && make install
复制代码

11.6.2 假如 已经安装过nginx

1、 进入nginx目次 :

  1. cd /usr/local/项目名/nginx-1.10.0/
复制代码

2、 设置 FastDFS 模块

  1. ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/项目名/fastdfs-nginx-module/src
复制代码

留意 : 这次设置 时,要添加fastdfs-nginx-moudle模块

3、编译,留意 ,这次不要安装(install)

  1. make
复制代码

4、更换 nginx二进制文件:

备份:

  1. mv /usr/bin/nginx /usr/bin/nginx-bak
复制代码

用新编译的nginx启动文件更换 原来的:

  1. cp objs/nginx /usr/bin/
复制代码

11.6.3 启动nginx

设置 nginx整合fastdfs-module模块

我们必要 修改nginx设置 文件,在/opt/nginx/config/nginx.conf文件中:

  1. vim /opt/nginx/conf/nginx.conf
复制代码

将文件中,原来的server 80{ …} 部分代码更换 为如下代码:

  1. server {
  2. listen 80;
  3. server_name image.项目名.com;
  4. # 监听域名中带有group的,交给FastDFS模块处理
  5. location ~/group([0-9])/ {
  6. ngx_fastdfs_module;
  7. }
  8. location / {
  9. root html;
  10. index index.html index.htm;
  11. }
  12. error_page 500 502 503 504 /50x.html;
  13. location = /50x.html {
  14. root html;
  15. }
  16. }
复制代码

启动nginx:

  1. nginx # 启动nginx
  2. nginx -s stop # 停止nginx
  3. nginx -s reload # 重新载入配置文件
复制代码

#可通过ps -ef | grep nginx查看nginx是否已启动成功

在这里插入图片形貌

11.6.4 设置nginx开机启动

创建一个开机启动的脚本:

  1. vim /etc/init.d/nginx
复制代码

添加以下内容:

  1. #!/bin/sh
  2. #
  3. # nginx - this script starts and stops the nginx daemon
  4. #
  5. # chkconfig: - 85 15
  6. # description: NGINX is an HTTP(S) server, HTTP(S) reverse \
  7. # proxy and IMAP/POP3 proxy server
  8. # processname: nginx
  9. # config: /etc/nginx/nginx.conf
  10. # config: /etc/sysconfig/nginx
  11. # pidfile: /var/run/nginx.pid
  12. # Source function library.
  13. . /etc/rc.d/init.d/functions
  14. # Source networking configuration.
  15. . /etc/sysconfig/network
  16. # Check that networking is up.
  17. [ "$NETWORKING" = "no" ] && exit 0
  18. nginx="/usr/bin/nginx"
  19. prog=$(basename $nginx)
  20. NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
  21. [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  22. lockfile=/var/lock/subsys/nginx
  23. make_dirs() {
  24. # make required directories
  25. user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
  26. if [ -n "$user" ]; then
  27. if [ -z "`grep $user /etc/passwd`" ]; then
  28. useradd -M -s /bin/nologin $user
  29. fi
  30. options=`$nginx -V 2>&1 | grep 'configure arguments:'`
  31. for opt in $options; do
  32. if [ `echo $opt | grep '.*-temp-path'` ]; then
  33. value=`echo $opt | cut -d "=" -f 2`
  34. if [ ! -d "$value" ]; then
  35. # echo "creating" $value
  36. mkdir -p $value && chown -R $user $value
  37. fi
  38. fi
  39. done
  40. fi
  41. }
  42. start() {
  43. [ -x $nginx ] || exit 5
  44. [ -f $NGINX_CONF_FILE ] || exit 6
  45. make_dirs
  46. echo -n $"Starting $prog: "
  47. daemon $nginx -c $NGINX_CONF_FILE
  48. retval=$?
  49. echo
  50. [ $retval -eq 0 ] && touch $lockfile
  51. return $retval
  52. }
  53. stop() {
  54. echo -n $"Stopping $prog: "
  55. killproc $prog -QUIT
  56. retval=$?
  57. echo
  58. [ $retval -eq 0 ] && rm -f $lockfile
  59. return $retval
  60. }
  61. restart() {
  62. configtest || return $?
  63. stop
  64. sleep 1
  65. start
  66. }
  67. reload() {
  68. configtest || return $?
  69. echo -n $"Reloading $prog: "
  70. killproc $nginx -HUP
  71. RETVAL=$?
  72. echo
  73. }
  74. force_reload() {
  75. restart
  76. }
  77. configtest() {
  78. $nginx -t -c $NGINX_CONF_FILE
  79. }
  80. rh_status() {
  81. status $prog
  82. }
  83. rh_status_q() {
  84. rh_status >/dev/null 2>&1
  85. }
  86. case "$1" in
  87. start)
  88. rh_status_q && exit 0
  89. $1
  90. ;;
  91. stop)
  92. rh_status_q || exit 0
  93. $1
  94. ;;
  95. restart|configtest)
  96. $1
  97. ;;
  98. reload)
  99. rh_status_q || exit 7
  100. $1
  101. ;;
  102. force-reload)
  103. force_reload
  104. ;;
  105. status)
  106. rh_status
  107. ;;
  108. condrestart|try-restart)
  109. rh_status_q || exit 0
  110. ;;
  111. *)
  112. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  113. exit 2
  114. esac
复制代码

修改文件权限,并加入服务列表

  1. # 修改权限
  2. chmod 777 /etc/init.d/nginx
  3. # 添加到服务列表
  4. chkconfig --add /etc/init.d/nginx
复制代码

设置开机启动

  1. chkconfig nginx on
复制代码

11.7 安装Elasticsearch

必要 假造 机JDK1.8及以上

11.7.1 新建一个用户leyou

出于安全思量 ,elasticsearch默认不答应 以root账号运行。

创建用户:

  1. useradd leyou
复制代码

设置暗码 :

  1. passwd leyou
复制代码

切换用户:

  1. su - leyou
复制代码

11.7.2 上传安装包,并解压

我们将安装包上传到:/home/leyou目次

解压缩:

tar -zxvf elasticsearch-6.2.4.tar.gz

  1. 在这里插入代码片
复制代码

我们把目次 重定名 :

  1. mv elasticsearch-6.3.0/ elasticsearch
复制代码

在这里插入图片形貌

进入,查看目次 布局 :

在这里插入图片形貌

11.7.3 修改设置

我们进入config目次 :cd config

必要 修改的设置 文件有两个:

在这里插入图片形貌

1、jvm.options

Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们必要 设置 jvm参数。

编辑jvm.options:

  1. vim jvm.options
复制代码

默认设置 如下:

  1. -Xms1g
  2. -Xmx1g
复制代码

内存占用太多了,我们调小一些:

  1. -Xms512m
  2. -Xmx512m
复制代码

2、elasticsearch.yml

  1. vim elasticsearch.yml
复制代码

修改数据和日志 目次 :

  1. path.data: /home/leyou/elasticsearch/data # 数据目录位置
  2. path.logs: /home/leyou/elasticsearch/logs # 日志目录位置
复制代码

我们把data和logs目次 修改指向了elasticsearch的安装目次 。但是这两个目次 并不存在,因此我们必要 创建出来。

进入elasticsearch的根目次 ,然后创建:

  1. mkdir data
  2. mkdir logs
复制代码

在这里插入图片形貌

修改绑定的ip:

network.host: 0.0.0.0 # 绑定到0.0.0.0,答应 任何ip来访问
默认只答应 本机访问,修改为0.0.0.0后则可以长途 访问

11.7.4 运行

进入elasticsearch/bin目次 ,可以看到下面的实行 文件:

在这里插入图片形貌

然后输入下令 :

  1. ./elasticsearch
复制代码

或者后台运行:

  1. ./elasticsearch -d
复制代码

11.7.5 错误1:内核过低

在这里插入图片形貌

修改elasticsearch.yml文件,在最下面添加如下设置 : 然后重启

bootstrap.system_call_filter: false

11.7.6 错误2:文件权限不足

在这里插入图片形貌

我们用的是leyou用户,而不是root,以是 文件权限不足。

起首 用root用户登录。直接输入exit下令

然后修改设置 文件:

  1. vim /etc/security/limits.conf
  2. 添加下面的内容:
  3. * soft nofile 65536
  4. * hard nofile 131072
  5. * soft nproc 4096
  6. * hard nproc 4096
复制代码

11.7.7 错误3:线程数不够

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

继续修改设置 :

  1. vim /etc/security/limits.d/90-nproc.conf
复制代码

修改下面的内容:

  1. * soft nproc 1024
复制代码

改为

  1. * soft nproc 4096
复制代码

11.7.8 错误4:进程 假造 内存

[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限定 一个进程 可以拥有的VMA(假造 内存地区 )的数量 ,继续修改设置 文件, :

  1. vim /etc/sysctl.conf
复制代码

添加下面内容:

  1. vm.max_map_count=655360
复制代码

然后实行 下令 :

  1. sysctl -p
复制代码

11.7.9 重启终端窗口

全部 错误修改完毕,肯定 要重启你的 Xshell终端,否则设置 无效。

11.8 安装RabbitMQ

  1. cd /usr/local/myapp
  2. mkdir rabbitmq
  3. cd rabbitmq
复制代码

11.8.1 安装Erlang

1、在线安装

  1. yum install esl-erlang_17.3-1~centos~6_amd64.rpm
  2. yum install esl-erlang-compat-R14B-1.el6.noarch.rpm
复制代码

2、离线安装

在这里插入图片形貌

依次实行 下令 :

1)rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps

在这里插入图片形貌

2)rpm -ivh esl-erlang_17.3-1centos6_amd64.rpm --force --nodeps

在这里插入图片形貌

3)rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps

在这里插入图片形貌

11.8.2 安装RabbitMQ

在这里插入图片形貌

安装:

  1. rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
复制代码

在这里插入图片形貌

11.8.3 设置设置 文件

  1. cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example
  2. /etc/rabbitmq/rabbitmq.config
复制代码

开启用户长途 访问

  1. vi /etc/rabbitmq/rabbitmq.config
复制代码

在这里插入图片形貌

留意 要去掉后面的逗号。

11.8.4 启动、克制

  1. service rabbitmq-server start
  2. service rabbitmq-server stop
  3. service rabbitmq-server restart
复制代码

11.8.5 开启web界面管理工具

  1. rabbitmq-plugins enable rabbitmq_management
  2. service rabbitmq-server restart
复制代码

11.8.6 设置开机启动

  1. chkconfig rabbitmq-server on
复制代码

11.8.7 防火墙开放15672端口

  1. /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
  2. /etc/rc.d/init.d/iptables save
复制代码

11.9 redis安装和设置

11.9.1 安装

解压

  1. tar -xvf redis-4.0.9.tar.gz
复制代码

编译安装

  1. mv redis-4.0.9 redis
  2. cd redis
  3. make && make install
复制代码

11.9.2 设置

修改安装目次 下的redis.conf文件

  1. vim redis.conf
复制代码

修改以下设置 :

  1. #bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
  2. protected-mode no # 把yes改成no,允许外网访问
  3. daemonize yes # 把no改成yes,后台运行
复制代码

11.9.3 启动或克制

redis提供了服务端下令 和客户端下令 :

redis-server 服务端下令 ,可以包含以下参数: start 启动 stop 克制

redis-cli 客户端控制台,包含参数: -h xxx 指定服务端地址,缺省值是127.0.0.1 -p xxx 指定服务端端口,缺省值是6379

11.9.4 设置开机启动

1) 输入下令 ,新建文件

  1. vim /etc/init.d/redis
复制代码

输入下面内容:

  1. #!/bin/sh
  2. # chkconfig: 2345 90 10
  3. # description: Redis is a persistent key-value database
  4. PATH=/usr/local/bin:/sbin:/usr/bin:/bin
  5. REDISPORT=6379
  6. EXEC=/usr/local/bin/redis-server
  7. REDIS_CLI=/usr/local/bin/redis-cli
  8. PIDFILE=/var/run/redis.pid
  9. CONF="/usr/local/leyou/redis/redis.conf"
  10. case "$1" in
  11. start)
  12. if [ -f $PIDFILE ]
  13. then
  14. echo "$PIDFILE exists, process is already running or crashed"
  15. else
  16. echo "Starting Redis server..."
  17. $EXEC $CONF
  18. fi
  19. if [ "$?"="0" ]
  20. then
  21. echo "Redis is running..."
  22. fi
  23. ;;
  24. stop)
  25. if [ ! -f $PIDFILE ]
  26. then
  27. echo "$PIDFILE does not exist, process is not running"
  28. else
  29. PID=$(cat $PIDFILE)
  30. echo "Stopping ..."
  31. $REDIS_CLI -p $REDISPORT SHUTDOWN
  32. while [ -x ${PIDFILE} ]
  33. do
  34. echo "Waiting for Redis to shutdown ..."
  35. sleep 1
  36. done
  37. echo "Redis stopped"
  38. fi
  39. ;;
  40. restart|force-reload)
  41. ${0} stop
  42. ${0} start
  43. ;;
  44. *)
  45. echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
  46. exit 1
  47. esac
复制代码

然后保存退出
留意 :以下信息必要 根据安装目次 举行 调整:

  1. EXEC=/usr/local/bin/redis-server # 执行脚本的地址
  2. REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址
  3. PIDFILE=/var/run/redis.pid # 进程id文件地址
  4. CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址
复制代码

2)设置权限

  1. chmod 755 /etc/init.d/redis
复制代码

3)启动测试

  1. /etc/init.d/redis start
复制代码

启动成功会提示如下信息:

  1. Starting Redis server...
  2. Redis is running...
复制代码

4)设置开机自启动

  1. chkconfig --add /etc/init.d/redis
  2. chkconfig redis on
复制代码

持续更新…

到此这篇关于Linux全网最全面常用下令 整理(附实例)的文章就先容 到这了,更多干系 Linux常用下令 内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的干系 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar Besson | 2021-9-19 13:51:08 | 显示全部楼层
楼上的忘记吃药了!
回复

使用道具 举报

avatar 陆子525630 | 2021-9-21 17:21:24 | 显示全部楼层
精神病院在通缉admin楼主!
回复

使用道具 举报

avatar 宝贝不哭不t | 2021-10-7 11:12:39 | 显示全部楼层
admin楼主是我最崇拜的人!
回复

使用道具 举报

avatar m4659631 | 2021-10-7 15:17:32 | 显示全部楼层
今天怎么了,什么人都出来了!
回复

使用道具 举报

avatar 悦悦782 | 2021-10-7 15:55:38 | 显示全部楼层
顶一个!
回复

使用道具 举报

avatar 极品小处男处v | 2021-10-7 17:24:19 | 显示全部楼层
admin楼主主机很热情啊!
回复

使用道具 举报

avatar 失室创 | 2021-10-7 19:16:23 | 显示全部楼层
有钱、有房、有车,人人都想!
回复

使用道具 举报

avatar 卡卡西720 | 2021-10-10 12:19:08 | 显示全部楼层
林子大了,什么鸟都有了啊!
回复

使用道具 举报

avatar 凌善慧 | 2021-10-11 19:50:42 | 显示全部楼层
坚持回帖!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则