首页 Al提示指令 Linux常用命令

Linux常用命令

标题:Linux  常用命令

1. 基本命令

1.1 关机与重启

关闭

shutdown -h now 立即关闭

shutdown -h 5 5分钟后关闭

poweroff 立即关闭

重新启动

shutdown -r now 立即重新启动

shutdown -r 5 5分钟后重新启动

立即重启

1.2 帮助命令

–帮助命令

关机–帮助:

ifconfig –help:查看网卡信息

man命令(命令手册)

关闭

注意:在man shutdown中打开命令手册后,使用q键退出。

2.目录操作命令

2.1 目录切换cd

命令:cd目录

cd/更改到根目录

cd /usr 切换到根目录下的usr目录

cd ./切换到上一个目录或cd .

cd ~ 切换到主目录

cd – 更改到上次访问的目录

2.2 目录查看ls [-al]

命令:ls [-al]

ls 显示当前目录下的所有目录和文件

ls -a 查看当前目录下所有目录和文件(包括隐藏文件)

ls -l 或ll list 查看当前目录下的所有目录和文件(列表视图,显示更多信息)

ls /dir 查看指定目录下的所有目录和文件,如:ls /usr

2.3 目录操作【添加、删除、修改、检查】

2.3.1 创建目录[新增] mkdir

命令:mkdir 目录

mkdir aaa 在当前目录下创建一个名为aaa 的目录

mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录

2.3.2 删除目录或文件[Delete] rm

命令:rm [-rf] 目录

删除文件:

rm 文件删除当前目录下的文件

rm -f file 删除当前目录下的文件(不询问)

删除目录:

rm -r aaa 递归删除当前目录下的aaa目录

rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:

rm -rf * 删除当前目录下所有目录和文件

rm -rf /* [自杀命令!谨慎使用!谨慎使用!谨慎使用! 】删除根目录下所有文件

注意:rm不仅可以删除目录,还可以删除其他文件或压缩包。为了方便大家记忆,无论如何删除任何目录或文件,只要使用rm -rf 目录/文件/压缩包即可。

2.3.3 目录修改【change】mv和cp

1.重命名目录

命令:mv 当前目录新目录

例如: mv aaa bbb 将目录aaa 更改为bbb

注意:mv语法不仅可以重命名目录,还可以重命名各种文件、压缩包等。

2.剪切目录

命令:mv 目录名称新目录位置

示例:将/usr/tmp目录下的aaa目录剪切到/usr目录mv /usr/tmp/aaa /usr

注意:mv语法不仅可以剪切目录,还可以剪切文件和压缩包。

3.复制目录

命令:cp -r 目录名目录复制的目标位置-r 代表递归

示例:将/usr/tmp目录下的aaa目录复制到/usr目录下cp /usr/tmp/aaa /usr

注意:cp命令不仅可以复制目录,还可以复制文件、压缩包等,复制文件、压缩包时不需要写-r递归。

2.3.4 搜索目录【find】查找

命令:查找目录参数文件名

示例:find /usr/tmp -name \’a*\’ 查找/usr/tmp目录中所有以a开头的目录或文件

3. 文件操作命令

3.1 文件操作【添加、删除、修改、检查】

3.1.1 新建文件【添加】touch

命令:触摸文件名

示例:在当前目录下创建一个名为aa.txt的文件touch aa.txt

3.1.2 删除文件【删除】rm

命令:rm -rf 文件名

3.1.3 修改文件【change】vi或vim

[vi编辑器的3种模式]

基本上vi可以分为三种状态,即命令模式、插入模式和最后一行模式。各模式的功能区分如下:

1)命令行模式(command mode)

控制屏幕光标的移动,删除字符、单词或行,搜索、移动和复制一个部分并进入插入模式,或进入最后一行模式。

命令行模式下常用命令:

【1】控制光标移动:、、j

【2】删除当前行:dd

【3】搜索:/字符

【4】进入编辑模式:i o a

【5】输入底行模式:

2)编辑模式(插入模式)

文本输入只能在插入模式下完成。按“ESC”键返回命令行模式。

编辑模式下常用命令:

【1】ESC退出编辑模式,返回命令行模式;

3)末行模式

保存文件或退出vi,还可以设置编辑环境,如搜索字符串、列出行号等。

底线模式常用命令:

【1】退出编辑:q

【2】强制退出:q!

【3】保存退出:wq

打开文件

命令:vi 文件名

示例:通过vi aa.txt 或vim aa.txt 打开当前目录下的aa.txt 文件

注意:使用vi编辑器打开文件后,由于处于命令模式,无法编辑。单击键盘I/A/O 进入编辑模式。

编辑文件

使用vi编辑器打开文件,单击i、a或o键进入编辑模式。

i: 在光标所在字符之前开始插入。

a: 在光标所在字符后开始插入

o: 在光标所在行下方插入新行。

保存或取消编辑

保存文件:

第1步:ESC进入命令行模式

第二步:进入底行模式

第三步:wq保存并退出编辑

取消编辑:

第1步:ESC进入命令行模式

第二步:进入底排模式

第三步:问!撤消本次修改并退出编辑

3.1.4 查看文件【查看】

文件查看命令:cat /more/less/tail

猫:看最后一个屏幕

例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容

猫sudo.conf

更多:百分比显示

示例:查看/etc/sudo.conf文件使用more显示百分比,输入下一行,空格下一页,q退出查看。

更多sudo.conf

less:翻页查看

示例:使用less查看/etc/sudo.conf文件。您可以使用键盘上的PgUp 和PgDn 进行上下翻页,使用q 结束视图。

少sudo.conf

tail:指定行数或动态查看

示例:使用tail -10 查看/etc/sudo.conf 文件的最后10 行,以Ctrl+C 结尾

尾-10 sudo.conf

3.2 权限修改

rwx:r代表可读,w代表可写,x代表该文件是可执行文件。如果rwx 更改为- 任何地方,则表示一个不可读、不可写或不可执行的文件。

举例:将aaa.txt文件的权限修改为可执行文件权限。 aaa.txt文件的权限是-rw——–

第一个:-表示文件,d表示文件夹

第一段(3位数字):代表所有者的权限

第二段(3位):代表所有者所属组以及组成员的权限

第三段(最后3位):代表其他用户的权限

421 421 421

– RW- — —

命令:chmod +x aaa.txt

或者使用8421方法

命令:chmod 100 aaa.txt

4.压缩文件操作

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代表指定解压位置

ps-ef | grep sshd 查找指定的ssh服务进程

ps-ef | grep sshd | sshd | grep sshd grep -v grep 查找指定的服务进程并排除gerp本身

ps-ef | grep sshd -c 查找指定进程数

5.2 查找

find 命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find默认搜索当前目录及其子目录,并且不过滤任何结果(即返回所有文件),将它们全部显示在屏幕上。

用法示例:

寻找。 -name \’*.log\’ -ls 在当前目录中搜索以.log结尾的文件并显示详细信息。

find /root/-perm 600 查找/root/目录下权限为600的文件

寻找。 -type f -name \’*.log\’ 查找当前目录中以.log结尾的普通文件

寻找。 -d 型| sort 查找当前所有目录并排序

寻找。 -size +100M 查找当前目录下大于100M的文件

5.3 定位

定位允许用户快速搜索路径。默认情况下每天自动更新一次,因此使用locate命令无法找到最新更改的文件。为了避免这种情况,可以在使用locate之前使用updatedb命令手动更新数据库。如果数据库中没有查询到的数据,会报错locate: can not stat () `/var/lib/mlocate/mlocate.db\’: No such file or directory! updatedb就够了!

yum -y install mlocate 如果是精简版的CentOS系统,则需要安装locate命令。

用法示例:

更新数据库

locate /etc/sh 搜索etc目录下所有以sh开头的文件

locate pwd 查找与pwd 相关的所有文件

5.4 哪里是

whereis 命令查找文件系统中可执行文件、源代码文件和帮助文件的位置。这些文件的属性应该属于原始代码、二进制文件或帮助文件。

用法示例:

whereis ls 将查找与ls 文件相关的所有文件

5.5 其中

which命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置,并返回第一个搜索结果。

用法示例:

which pwd 查找pwd命令所在路径

which java 查找path中java的路径

6. 须藤

6.1su

su 用于在用户之间切换。但切换前的用户仍保持登录状态。如果您是root,则切换到普通用户或虚拟用户不需要密码,而从普通用户切换到其他用户则需要验证密码。

su test: 切换到test用户,但路径仍然是/root目录

su – test : 切换到test用户,路径变为/home/test

su : 切换到root用户,但路径还是原来的路径

su – : 切换到root用户,路径为/root

su的不足:如果用户需要使用root权限,必须告诉用户root密码。

退出并返回上一个用户:exit

6.2 须藤

sudo 是为所有想要使用root 权限的普通用户设计的。允许普通用户暂时使用root权限。只需输入您帐户的密码即可。

输入sudo配置文件命令:

vi /etc/sudoer 或visudo

案件:

允许hadoop用户以root身份执行各种应用程序命令需要输入hadoop用户的密码。

hadoop 全部=(全部) 全部

案件:

仅允许hadoop用户以root身份执行ls和cat命令,并且执行过程中不需要密码。

在配置文件中:

hadoop ALL=NOPASSWD: /bin/ls, /bin/cat

7、系统服务

service iptables status –查看iptables服务的状态

service iptables start –启动iptables服务

service iptables stop –停止iptables 服务

service iptables restart –重启iptables服务

chkconfig iptables off –关闭开机时自动启动iptables服务

chkconfig iptables on –启用iptables服务开机自动启动

8. 网络管理

8.1 主机名配置

[root@node1 ~]# vi /etc/sysconfig/network

网络=是

主机名=节点1

8.2 IP地址配置

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

8.3 域名映射

/etc/hosts 文件用于通过主机名访问时进行IP 地址解析。因此,想要访问什么样的主机名,就需要将主机名与其对应的IP地址结合起来。

[root@node1 ~]# vi /etc/hosts

#### 添加在最后

192.168.52.201节点1

192.168.52.202节点2

192.168.52.203节点3

9.定时任务命令crontab配置

crontab 是Unix 和Linux 用来设置计划任务的命令。通过crontab命令,您可以以固定的时间间隔执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、天、月、周或以上的任意组合。

crontab安装:

yum 安装crontab

服务操作说明:

service crond start ## 启动服务

service crond stop ## 关闭服务

service crond restart ## 重新启动服务

9.1 命令格式

crontab [-u 用户] 文件

crontab [-u 用户] [ -e | -l | -r]

参数说明:

-u user:用于设置某个用户的crontab服务

file:file为命令文件名,表示file作为crontab的任务列表文件

并加载crontab。

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

用户的crontab 文件。

-l:显示用户的crontab文件的内容。如果没有指定用户,则当前

用户的crontab 文件的内容。

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

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

命令示例:

crontab file [-u user] ##用指定文件替换当前的crontab

crontab -l [-u user] ## 列出用户当前的crontab

crontab -e [-u user] ## 编辑用户当前的crontab

9.2 配置说明及示例

命令: * * * * * 命令

说明: 分钟小时日月周命令

第1 列表示1 到59 分钟。每分钟用* 或*/1 表示。

第2 列代表0 到23 小时(0 代表0 点)

第3 列代表日期1 到31

第4 列代表第1 至12 个月

第5 列标识从0 到6 的星期几(0 表示星期日)

在第6 列中运行的命令

配置示例:

首先打开定时任务所在文件:

crontab -e

每分钟执行一次日期命令

*/1 * * * * 日期/root/date.txt

每天晚上在21:30重新启动apache。

30 21 * * * 服务httpd 重新启动

每月1 日、10 日、22 日在4 : 45 重新启动apache。

45 4 1,10,22 ** 服务httpd 重启

每周六和周日在1 : 10 重新启动apache。

10 1 * * 6,0 服务httpd重启

每天18 : 00 到23 : 00 之间每30 分钟重新启动一次apache。

0,30 18-23 * * * 服务httpd 重新启动

晚上11 点到早上7 点之间每小时重新启动一次apache

* 23-7/1 * * * 服务httpd 重启

10.其他命令

10.1 查看当前目录:pwd

命令:pwd 查看当前目录路径

10.2 查看进程:ps -ef

命令:ps -ef 查看所有正在运行的进程

10.3 结束进程:kill

命令:kill pid 或kill -9 pid(强行杀死进程)pid: 进程号

10.4 网络通讯命令:

ifconfig:查看网卡信息

命令:ifconfig 或ifconfig |更多的

ping:检查与某台机器的连接状态

命令:ping ip

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

命令:netstat -an

搜索指定端口

命令:netstat -an |查询8080

10.5 配置网络

命令:设置

10.6 重启网络

命令:服务网络重启

10.7 切换用户

命令:su – 用户名

10.8 关闭防火墙

命令:chkconfig iptables off

或者:

iptables-L;

iptables-F;

服务iptables 停止

10.9 修改文件权限

命令:chmod 777

10.10 清屏

命令:ctrl+l

10.11 vi 模式下的快捷键

: 后退出

保存并退出快捷键:shift+z+z

跳转到最后一行的快捷键:shift+g

删除一行:dd

复制一行内容:y+y

粘贴复制的内容:p

11.Linux项目部署

11.1 安装jdk1.8

先卸载open-jdk

java版本

rpm-qa| grep java

rpm -e –nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

开始安装:

mkdir /usr/local/src/java

rz上传jdk tar包

tar -zxvf jdk-8u181-linux-x64.tar.gz

百胜安装glibc.i686

配置环境变量:

vi /etc/配置文件

在该行末尾添加

#设置java环境

JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_181

CLASSPATH=.$JAVA_HOME/lib.tools.jar

路径=$JAVA_HOME/bin:$路径

导出JAVA_HOME 类路径路径

保存并退出

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 安装

第1 步:解压

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

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

命令:rpm -qa | grep mysql

如果已经安装,请将其卸载,如:

rpm -e –nodeps mysql-libs-5.1.71-1.el6.x86_64

第三步:安装MySQL服务器

命令:rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm

第四步:安装MySQL客户端

命令:rpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpm

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

命令:服务mysql状态

第六步:启动MySQL服务

命令:mysql服务启动

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

安装mysql服务器时出现提示:

注意:该密码不安全,因此您需要更改初始密码。

使用密码登录mysql账户:mysql -uroot -p

修改root密码:SET PASSWORD=PASSWORD(\’root\’);

11.2.3 开机自动启动设置

添加到系统服务:

chkconfig –添加mysql

自动启动:

chkconfig mysql 打开

查询清单:

检查配置

注意:两者均未关闭时,不会自动启动。

11.2.4 启用远程访问

登录:

mysql -uroot proot

设置远程访问(使用root 密码):

将*.* 上的所有权限授予由\’root\’ 标识的\’root\’ @\’%\’;

同花顺特权;

centos环境下退出mysql并打开3306防火墙

/sbin/iptables -I 输入-p tcp –dport 3306 -j 接受

/etc/rc.d/init.d/iptables 保存

/etc/init.d/iptables 状态

11.3 安装tomcat部署项目

准备工作:将web项目打包成war包,并重命名为ROOT.war

11.3.1 创建ucenter用户

一般情况下,您不会使用root用户发布应用程序。需要创建一个普通用户来发布程序;

创建ucenter用户:

useradd -d /ucenter ucenter

设置密码:

密码ucenter(密码ucenter)

切换用户:

苏中心

11.3.2 安装Tomcat

Tomcat只要解压就可以使用。

1.创建一个Web目录

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:

cd itcast-usermanage/bin/

./startup.sh 或shstartup.sh

6、查看日志:

尾-f ./logs/catalina.out

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

发现无法访问:

8.在防火墙上开放8080端口

/sbin/iptables -I 输入-p tcp –dport 8080 -j 接受

/etc/rc.d/init.d/iptables 保存

9.安装成功

11.3.3 部署用户管理项目

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

2.执行数据库脚本

猫user_manager.sql | mysql -uroot -p123456

3. 部署Web程序

3.1 删除webapps下所有文件

cd /ucenter/web/usermanage/webapps

rm -rf *

3.2 将ROOT.war复制到webapps

cp /ucenter/web/ROOT。

war .
3.3 重新启动tomcat
cd ../bin/
sh startup.sh && tail -f ../logs/catalina.out
3.4 启动浏览器测试
注意事项:Centos环境下部署项目中文乱码问题解决方案
今天在一台新的CentOS机器上使用c3p0连接池操作mysql数据库出现中文乱码问题,具体表现为:查询时无中文乱码问题,写数据时中文乱码,查看了机器上数据库字符集也是UTF8,应该不会出现中文乱码才对,最后在c3p0配置文件中 jdbcUrl后加上:?useUnicode=true&characterEncoding=UTF8 中文就不会乱码了。
【C3P0配置文件】
<?xml version=\”1.0\” encoding=\”UTF-8\”?>
<c3p0-config>
<default-config>
<property name=\”driverClass\”>com.mysql.jdbc.Driver</property>
<property name=\”jdbcUrl\”>jdbc:mysql://localhost:3306/user_manager_yun6?useUnicode=true&characterEncoding=UTF8 </property>
<property name=\”user\”>root</property>
<property name=\”password\”>root</property>
<property name=\”acquireIncrement\”>2</property>
<property name=\”initialPoolSize\”>5</property>
<property name=\”minPoolSize\”>1</property>
<property name=\”maxPoolSize\”>5</property>
</default-config>
</c3p0-config>
11.4 Linux下使用FastDFS
相关的安装包我打包到云盘上了,链接:https://pan.baidu.com/s/13NDYYil4mgLhkb5CYsc2Ww 提取码:66tn
单节点FastDFS
整个安装过程非常复杂,很容易出错,建议进行多次备份。
我们这里不打算安装多台虚拟机,因此会把tracker和storage都安装在一起。
11.4.1 安装gcc
GCC用来对C语言代码进行编译运行,使用yum命令安装:
yum -y install gcc
后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下
yum install -y unzip zip
11.4.2 安装libevent
yum -y install libevent
11.4.3 安装libfastcommon-master
解压刚刚上传的libfastcommon-master.zip
unzip libfastcommon-master.zip
进入解压完成的目录
cd libfastcommon-master
编译并且安装:
./make.sh
./make.sh install
11.4.4 安装fastdfs
tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install
如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:
ll /etc/init.d/ | grep fdfs
fdfs_trackerd 是tracker启动脚本
fdfs_storaged 是storage启动脚本
能够在 /etc/fdfs/ 目录下看到默认的配置文件模板:
ll /etc/fdfs/
tarcker.conf.sample 是tracker的配置文件模板
storage.conf.sample 是storage的配置文件模板
client.conf.sample 是客户端的配置文件模板
11.4.5 配置并启动tracker服务
1)首先将模板文件复制
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2)修改复制后的配置文件:
vim /etc/fdfs/tracker.conf
# 修改的内容如下:
base_path=/项目名/tracker # 存储日志和数据的根目录
3)新建目录:
mkdir -p /项目名/tracker
注意:关闭防火墙:
chkconfig iptables off
4)启动和停止
service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop
检查FastDFS Tracker Server是否启动成功:
ps -ef | grep fdfs_trackerd
设置tracker服务开机启动:
chkconfig fdfs_trackerd on
11.4.6 配置并启动storage服务
1)首先将模板文件复制
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2)修改复制后的配置文件:
vim /etc/fdfs/storage.conf
# 修改的内容如下:
base_path=/项目名/storage # 数据和日志文件存储根目录
store_path0=/项目名/storage # 第一个存储目录
tracker_server=192.168.56.101:22122 # tracker服务器IP和端口
3)新建目录:
mkdir -p /项目名/storage
注意关闭防火墙: chkconfig iptables off
4)启动和停止
service fdfs_storaged start # 启动fdfs_storaged服务,停止用stop
设置storage服务开机启动:
chkconfig fdfs_storaged on
ps -ef | grep fdfs
11.5 安装fastdfs-nginx-module
11.5.1 解压
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
11.5.2 修改config
1)进入src目录
cd fastdfs-nginx-module/src/
2)编辑config
vim config
使用以下底行命令:
:%s+/usr/local/+/usr/+g
将所有的/usr/local替换为 /usr,这个才是正确的目录:
11.5.3 配置nginx与FastDFS关联配置文件
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改
cp /usr/local/项目名/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
修改以下配置:
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
tracker_server=192.168.56.101:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名
store_path0=/leyou/storage # 文件存储路径
复制 FastDFS 的部分配置文件到/etc/fdfs 目录
cd /usr/local/项目名/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
11.6 安装Nginx的插件
11.6.1 如果没有安装过nginx
1、安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、解压安装包
tar -zxvf nginx-1.10.0.tar.gz
3、配置nginx安装包,并指定fastdfs-nginx-model
cd nginx-1.10.0
./configure –prefix=/opt/nginx –sbin-path=/usr/bin/nginx –add-module=/usr/local/leyou/fastdfs-nginx-module/src
注意:在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去。
4、编译并安装
make && make install
11.6.2 如果已经安装过nginx
1、 进入nginx目录:
cd /usr/local/项目名/nginx-1.10.0/
2、 配置FastDFS 模块
./configure –prefix=/opt/nginx –sbin-path=/usr/bin/nginx –add-module=/usr/local/项目名/fastdfs-nginx-module/src
注意:这次配置时,要添加fastdfs-nginx-moudle模块
3、编译,注意,这次不要安装(install)
make
4、替换nginx二进制文件:
备份:
mv /usr/bin/nginx /usr/bin/nginx-bak
用新编译的nginx启动文件替代原来的:
cp objs/nginx /usr/bin/
11.6.3 启动nginx
配置nginx整合fastdfs-module模块
我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:
vim /opt/nginx/conf/nginx.conf
将文件中,原来的server 80{ …} 部分代码替换为如下代码:
server {
listen 80;
server_name image.项目名.com;
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx:
nginx # 启动nginx
nginx -s stop # 停止nginx
nginx -s reload # 重新载入配置文件
# 可通过ps -ef | grep nginx查看nginx是否已启动成功
11.6.4 设置nginx开机启动
创建一个开机启动的脚本:
vim /etc/init.d/nginx
添加以下内容:
#!/bin/sh
#
# nginx – this script starts and stops the nginx daemon
#
# chkconfig: – 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \\
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ \”$NETWORKING\” = \”no\” ] && exit 0
nginx=\”/usr/bin/nginx\”
prog=$(basename $nginx)
NGINX_CONF_FILE=\”/opt/nginx/conf/nginx.conf\”
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep \”configure arguments:.*–user=\” | sed \’s/[^*]*–user=\\([^ ]*\\).*/\\1/g\’ -`
if [ -n \”$user\” ]; then
if [ -z \”`grep $user /etc/passwd`\” ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep \’configure arguments:\’`
for opt in $options; do
if [ `echo $opt | grep \’.*-temp-path\’` ]; then
value=`echo $opt | cut -d \”=\” -f 2`
if [ ! -d \”$value\” ]; then
# echo \”creating\” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n #34;Starting $prog: \”
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n #34;Stopping $prog: \”
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n #34;Reloading $prog: \”
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case \”$1\” in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo #34;Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}\”
exit 2
esac
修改文件权限,并加入服务列表
# 修改权限
chmod 777 /etc/init.d/nginx
# 添加到服务列表
chkconfig –add /etc/init.d/nginx
设置开机启动
chkconfig nginx on
11.7 安装Elasticsearch
需要虚拟机JDK1.8及以上
11.7.1 新建一个用户leyou
出于安全考虑,elasticsearch默认不允许以root账号运行。
创建用户:
useradd leyou
设置密码:
passwd leyou
切换用户:
su – leyou
11.7.2 上传安装包,并解压
我们将安装包上传到:/home/leyou目录
解压缩:
tar -zxvf elasticsearch-6.2.4.tar.gz
我们把目录重命名:
mv elasticsearch-6.3.0/ elasticsearch
进入,查看目录结构:
11.7.3 修改配置
我们进入config目录:cd config
需要修改的配置文件有两个:
1、jvm.options
Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。
编辑jvm.options:
vim jvm.options
默认配置如下:
-Xms1g
-Xmx1g
内存占用太多了,我们调小一些:
-Xms512m
-Xmx512m
2、elasticsearch.yml
vim elasticsearch.yml
修改数据和日志目录:
path.data: /home/leyou/elasticsearch/data # 数据目录位置
path.logs: /home/leyou/elasticsearch/logs # 日志目录位置
我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。
进入elasticsearch的根目录,然后创建:
mkdir data
mkdir logs
修改绑定的ip:
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
默认只允许本机访问,修改为0.0.0.0后则可以远程访问
11.7.4 运行
进入elasticsearch/bin目录,可以看到下面的执行文件:
然后输入命令:
./elasticsearch
或者后台运行:
./elasticsearch -d
11.7.5 错误1:内核过低
修改elasticsearch.yml文件,在最下面添加如下配置: 然后重启
bootstrap.system_call_filter: false
11.7.6 错误2:文件权限不足
我们用的是leyou用户,而不是root,所以文件权限不足。
首先用root用户登录。直接输入exit命令
然后修改配置文件:
vim /etc/security/limits.conf
添加下面的内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
11.7.7 错误3:线程数不够
[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
继续修改配置:
vim /etc/security/limits.d/90-nproc.conf
修改下面的内容:
* soft nproc 1024
改为
* 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(虚拟内存区域)的数量,继续修改配置文件, :
vim /etc/sysctl.conf
添加下面内容:
vm.max_map_count=655360
然后执行命令:
sysctl -p
11.7.9 重启终端窗口
所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。
11.8 安装RabbitMQ
cd /usr/local/myapp
mkdir rabbitmq
cd rabbitmq
11.8.1 安装Erlang
1、在线安装
yum install esl-erlang_17.3-1~centos~6_amd64.rpm
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-1~centos~6_amd64.rpm –force –nodeps
3)rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm –force –nodeps
11.8.2 安装RabbitMQ
安装:
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
11.8.3 设置配置文件
cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example
/etc/rabbitmq/rabbitmq.config
开启用户远程访问
vi /etc/rabbitmq/rabbitmq.config
注意要去掉后面的逗号。
11.8.4 启动、停止
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
11.8.5 开启web界面管理工具
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
11.8.6 设置开机启动
chkconfig rabbitmq-server on
11.8.7 防火墙开放15672端口
/sbin/iptables -I INPUT -p tcp –dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save
11.9 redis安装和配置
11.9.1 安装
解压
tar -xvf redis-4.0.9.tar.gz
编译安装
mv redis-4.0.9 redis
cd redis
make && make install
11.9.2 配置
修改安装目录下的redis.conf文件
vim redis.conf
修改以下配置:
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
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) 输入命令,新建文件
vim /etc/init.d/redis
输入下面内容:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF=\”/usr/local/leyou/redis/redis.conf\”
case \”$1\” in
start)
if [ -f $PIDFILE ]
then
echo \”$PIDFILE exists, process is already running or crashed\”
else
echo \”Starting Redis server…\”
$EXEC $CONF
fi
if [ \”$?\”=\”0\” ]
then
echo \”Redis is running…\”
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo \”$PIDFILE does not exist, process is not running\”
else
PID=$(cat $PIDFILE)
echo \”Stopping …\”
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo \”Waiting for Redis to shutdown …\”
sleep 1
done
echo \”Redis stopped\”
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo \”Usage: /etc/init.d/redis {start|stop|restart|force-reload}\” >&2
exit 1
esac
然后保存退出
注意:以下信息需要根据安装目录进行调整:
EXEC=/usr/local/bin/redis-server # 执行脚本的地址
REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址
PIDFILE=/var/run/redis.pid # 进程id文件地址
CONF=\”/usr/local/src/redis-3.0.2/redis.conf\” #配置文件地址
2)设置权限
chmod 755 /etc/init.d/redis
3)启动测试
/etc/init.d/redis start
启动成功会提示如下信息:
Starting Redis server…
Redis is running…
4)设置开机自启动
chkconfig –add /etc/init.d/redis
chkconfig redis on
————————————————
版权声明:本文为CSDN博主「Demon_gu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23329167/article/details/83856430

热门文章