Linux(CentOS)常用普及命令以及常用工具配置
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
身为码农,表示十分痛恨服务器上的各种乱七八糟配置,平时很少用到Linux命令,对Linux一直保持在学了就忘,忘了再学
的死循环中,故做此笔记,可能以后翻看的机会也不多,毕竟总有用到的时候,坚持老梁的原则“学会记录生活,让回忆有迹可寻”,等到下次再翻阅的时候翻阅此文章即可;
PS:本文仅针对CentOS,使用其他发行版Linux请绕行;
另外本文不包含安装部分,不会安装的请自行查阅
一、准备
操作系统
- CentOS (本人使用的是7,推荐安装
Minimal
版,不使用系统自带工具,全部自己安装)
虚拟机软件(仅针对在Windows/Mac操作系统下学习CentOS,否则略过此项)
- VirtualBox (推荐使用开源软件,并且本文仅针对此虚拟机)
二、系统篇
说明 |
命令 |
---|---|
查看系统内核 |
uname -r |
查看内核全部信息 |
uname -a |
开启防火墙(仅针对CentOS 7) |
systemctl start firewalld.service |
关闭防火墙(仅针对CentOS 7,用虚拟机练习推荐关闭) |
systemctl stop firewalld.service |
三、网络篇
- 查看IP(
Minimal
版没有ifconfig
命令)ip addrvi /etc/sysconfig/network-scripts/ifcfg-eth0service network restart - 修改配置文件(文件名不一定叫这个)
- 将ONBOOT改为yes,意思是在系统启动时是否激活网卡
- 将NM_CONTROLLED改为yes,如果没有添加这一行,意思是实时生效,无需重启网卡
- 重启网络服务
四、通讯篇
默认情况下宿主机是不能访问virtualbox内部的,所以要做如下操作
- 查看宿主机网络连接,安装virtualbox时会默认创建一个名为VirtualBox Host-Only Network的网络连接
- 查看ip段,通常是192.168.56.*,不必修改,记住即可
- 修改虚拟机网络设置,添加网卡2,连接方式选择
仅主机(Host-Only)适配器
,保存 - 在虚拟机内使用
ip addr
重新查看,记住新网卡的ip段,必须和VirtualBox Host-Only Network的IP段一致,如果一致,在宿主机访问虚拟机,查看是否能ping通rpm -qa|grep vsftpdyum -y install vsftpdservice vsftpd start - 检查vsftpd软件是否安装,默认没有安装,无法远程连接该系统
- 安装vsftpd
- 修改/etc/vsftpd/下的ftpusers和user_list文件,删除拒绝远程登录的账号
- 启动vsftpd服务
五、基本工具
- 更新yumyum updateyum -y install vimyum -y install gcc-c++yum -y install zlibyum -y install wgetyum -y install pcreyum -y install opensslyum -y install make
- 安装vim(文本编辑器,
Minimal
版默认只安装了vi,没有vim) - 安装gcc(C语言源码编译)
- 安装zlib(解压缩工具)
- 安装wget(下载工具)
- 安装pcre(正则表达式)
- 安装openssl(用于https)
- 安装make(安装工具)
六、环境变量
linux的环境变量分多个,级别不同
系统级环境变量
- /etc/profile
- /etc/environment
用户级环境变量
- ~/.profile
- ~/.bashrc
修改后立即生效
source 环境变量
七、软件篇
推荐用wget [url]
命令下载,也可用ftp上传,无需安装的推荐放到/usr/lib/
路径下
Jdk
无需安装,直接解压缩后配置环境变量既可用
以jdk7为例,修改环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source
令环境变量生效)
export JAVA_HOME=/usr/lib/jvm/jdk7 (jdk解压路径) export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:${JAVA_HOME}/bin
Scala
无需安装,直接解压缩后配置环境变量既可用,但需要先安装Jdk
以scala-2.11为例,修改环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source
令环境变量生效)
export SCALA_HOME=/usr/lib/scala/scala-2.11 (scala类库解压路径) export PATH=$PATH:${SCALA_HOME}/bin
Tomcat
无需安装,直接解压缩后配置环境变量既可用,但需要先安装Jdk
以Tomcat8.0.35为例修改环境变量,在末尾添加一行(配置完毕后不要忘记使用source
令环境变量生效)
export TOMCAT_HOME=/usr/local/tomcat-8.0.35 (Tomcat解压路径)
配置虚拟内存,在#!/bin/sh
下面添加
JAVA_OPTS='-Xms256m (初始化堆内存) -Xmx512m (最大堆内存) -XX:PermSize=256m (初始化持久代,JDK8已取消) -XX:MaxPermSize=512m (最大持久代,JDK8已取消)'
Nginx
安装
Minimal
版没有依赖项源码,需要先下载pcre/openssl/zlib的源码再安装(不是安装后的,install文件夹里都有),安装包推荐放到/usr/src/
路径下
解压安装包后,执行configure
文件,如果不能执行,先用chmod
赋权,并追加参数
./configure \ --prefix=/usr/local/nginx-1.11.0 (安装路径) \ --with-http_ssl_module (支持https) \ --with-http_stub_status_module (支持状态监控) \ --with-pcre=/usr/src/pcre (pcre源码路径) --with-openssl=/usr/src/openssl (openssl源码路径) --with-zlib=/usr/src/zlib (zlib源码路径)
成功后依次执行
make make install
启动nginx服务器
/usr/local/nginx-1.11.0/sbin/nginx
停止nginx服务器
/usr/local/nginx-1.11.0/sbin/nginx -s stop
重新加载配置
/usr/local/nginx-1.11.0/sbin/nginx -s reload
基础配置
主配置文件:conf/nginx.conf
worker_processes 1; #nginx进程数,建议设置为CPU总核心数 events { worker_connections 1024; #单个进程最大连接数,nginx最大连接数=进程数*单进程最大连接数 } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #超时时间,单位为秒 server { #代理服务器数量,可以配置多个 listen 80; #监听端口 server_name localhost; #服务器域名 charset utf-8; #字符集 location / { proxy_pass http://proxy.com; #反向代理名称,用于匹配集群 proxy_redirect default; } error_page 500 502 503 504 /50x.html; #错误码对应转向 location = /50x.html { root html; } } upstream proxy.com { #这里匹配反向代理名称 server 192.168.56.1:9000 weight=1; #真实项目地址以及权重 server 192.168.56.101:9000 weight=1; #权重数字越大被分配到的几率就越高 } }
MySQL
从个人角度来说,本人不推荐使用MySQL数据库,可以的话尽量使用MariaDB,个中缘由自行Google,如果一定要使用MySQL,请看如下配置
安装
在CentOS 7中,系统默认安装了MariaDB,需要先进行卸载,首先使用下面命令查看已安装的MariaDB相关软件
rpm -qa|grep mariadb
使用以下命令卸载
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
Minimal
版本也没有libaio,需要安装
yum -y install libaio
以及net-tools
yum -y install net-tools
Linux下的MySQL分为源码安装和rpm安装,因为源码安装需要具备所有依赖项的源码,所以强烈不推荐使用源码安装,在官网下载rpm整合包就好,这里以mysql-5.7.12
为例,下载后解压,不需要全部安装,依次安装如下安装包即可,顺序不可颠倒
rpm -ivh mysql-community-common-5.7.12-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.12-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.12-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.12-1.el7.x86_64.rpm
安装完毕,先不要启动MySQL
配置
修改配置文件
vim /etc/my.cnf
在mysqld下面添加一行
skip-grant-tables
保存后启动MySQL
service mysqld start
此时可用空密码直接进入MySQL
mysql -uroot -p
切换到mysql库并修改密码,MySQL5.7版本的密码字段是authentication_string,低版本是password
use mysql update user set authentication_string=password('123456') where user='root';
退出后停止数据库,将/etc/my.cnf
里的修改删除后重新启动数据库,配置完毕
MariaDB
安装
MariaDB是CentOS推荐的数据库,安装只需要一行命令即可
yum -y install mariadb mariadb-server
设置为开机自启动
systemctl enable mariadb
配置
安装完成后先启动MariaDB
service mariadb start
运行配置向导
mysql_secure_installation
- 第一个提示让输入当前密码,直接回车
- 第二个提示是否设置密码,直接回车
- 输入密码,回车
- 确认密码,回车
- 是否删除匿名用户,直接回车
- 是否禁止远程登录,视实际情况而定
- 是否删除test数据库,直接回车
- 是否重新加载权限,回车,配置完毕
PostgreSQL
安装
PostgreSQL也是CentOS推荐的数据库,安装同样只需要一行命令即可
yum install postgresql*
初始化数据库
postgresql-setup initdb
设置为开机自启动
systemctl enable postgresql
配置
先启动PostgreSQL
systemctl start postgresql
进入数据库
su - postgres
创建角色
createuser admin(用户名)
创建数据库实例
createdb -e -O admin(用户名) testdb(实例名)
进入查询分析器
psql
设置密码
\password admin;(用户名,用分号结束)
退出查询分析器
\q(不需要分号结束)
退出数据库
exit
修改监听
vim /var/lib/pgsql/data/postgresql.conf
将这句注释打开并修改
listen_addresses = '*'
修改验证方式
vim /var/lib/pgsql/data/pg_hba.conf
将如下内容修改或复制
host all all 127.0.0.1/32(允许哪个IP访问,如果允许全部,则写成0.0.0.0/0) md5(md5为密码验证)
重启数据库
systemctl restart postgresql
使用密码登录数据库
psql -U admin(用户名) -d testdb(数据库) -h 127.0.0.1(登录哪个IP)
登录成功,配置完毕
Redis
解压后先进入redis目录,以3.2.0为例
cd redis-2.8.17
然后make
make
进入src目录
cd src
运行redis-server启动redis服务
./redis-server
但是这样启动后不会返回命令行,所以在命令后加&,启动redis后返回命令行
./redis-server &
Hadoop
无需安装,直接解压缩后修改配置文件既可用,但需要先安装Jdk
不配私钥只能玩单机版,就个人学习而言,单机版已经足够
以hadoop-2.7.2为例,解压后进入hadoop路径,创建4个文件夹
mkdir tmp mkdir hdfs mkdir hdfs/data mkdir hdfs/name
配置环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source
令环境变量生效)
export HADOOP_HOME=/root/download/hadoop-2.7.2 export PATH=$PATH:${HADOOP_HOME}/bin
hadoop不能以IP访问,要修改主机名和host映射,主机名修改(仅针对CentOS 7)
hostnamectl set-hostname 主机名
修改host映射文件
vim /etc/hosts
修改core-site.xml,注意这里是相对路径
vim etc/hadoop/core-site.xml
在configuration标签中添加
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop:9000</value> <!-- value的含义为hdfs://主机名:端口号 --> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/root/download/hadoop-2.7.2/tmp</value> <!-- 这里要用绝对路径 --> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property>
修改hdfs-site.xml,相对路径
vim etc/hadoop/hdfs-site.xml
同样在configuration标签中添加
<property> <name>dfs.namenode.name.dir</name> <value>file:/root/download/hadoop-2.7.1/hdfs/data</value> <!-- 修改绝对路径 --> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/download/hadoop-2.7.1/fdfs/data</value> <!-- 修改绝对路径 --> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop:9001</value> <!-- 这里别忘了修改 --> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
重命名模板
mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site
修改mapred-site.xml
vim etc/hadoop/mapred-site.xml
同样在configuration标签中添加
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop:10020</value> <!-- 这里别忘了修改 --> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop:19888</value> <!-- 这里别忘了修改 --> </property>
修改yarn-site.xml,相对路径
vim etc/hadoop/yarn-site.xml
同样在configuration标签中添加
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>hadoop:8032</value> <!-- 这里别忘了修改 --> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoop:8030</value> <!-- 这里别忘了修改 --> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoop:8031</value> <!-- 这里别忘了修改 --> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoop:8033</value> <!-- 这里别忘了修改 --> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoop:8088</value> <!-- 这里别忘了修改 --> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>768</value> </property>
修改hadoop-env.sh,相对路径
vim etc/hadoop/hadoop-env.sh
修改JAVA_HOME,这里比较操蛋,配置环境变量也没有用
export JAVA_HOME=/usr/lib/jvm/jdk7
修改slaves,配置从服务器,相对路径
vim etc/hadoop/slaves
格式为每行一个,如下,再次强调,不配私钥只能玩单机版
hadoop cluster01 cluster02
配置成功后,将hadoop复制到各个从服务器上,并在主服务器进行初始化
hadoop namenode -format
启动hadoop集群
sh sbin/start-all.sh
停止hadoop集群
sh sbin/stop-all.sh
在浏览器输入http://主服务器IP:8088
查看集群信息
Docker
安装
CentOS内置Docker,安装只需要一行命令即可
yum -y install docker
设置为开机自启动
systemctl enable docker.service
Docker安装完毕,有时间会补上Docker的用法
未完待续
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!