Linux(CentOS)常用普及命令以及常用工具配置
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
身為碼農(nóng),表示十分痛恨服務(wù)器上的各種亂七八糟配置,平時(shí)很少用到Linux命令,對(duì)Linux一直保持在學(xué)了就忘,忘了再學(xué)
的死循環(huán)中,故做此筆記,可能以后翻看的機(jī)會(huì)也不多,畢竟總有用到的時(shí)候,堅(jiān)持老梁的原則“學(xué)會(huì)記錄生活,讓回憶有跡可尋”,等到下次再翻閱的時(shí)候翻閱此文章即可;
PS:本文僅針對(duì)CentOS,使用其他發(fā)行版Linux請(qǐng)繞行;
另外本文不包含安裝部分,不會(huì)安裝的請(qǐng)自行查閱
一、準(zhǔn)備
操作系統(tǒng)
- CentOS (本人使用的是7,推薦安裝
Minimal
版,不使用系統(tǒng)自帶工具,全部自己安裝)
虛擬機(jī)軟件(僅針對(duì)在Windows/Mac操作系統(tǒng)下學(xué)習(xí)CentOS,否則略過(guò)此項(xiàng))
- VirtualBox (推薦使用開(kāi)源軟件,并且本文僅針對(duì)此虛擬機(jī))
二、系統(tǒng)篇
說(shuō)明 |
命令 |
---|---|
查看系統(tǒng)內(nèi)核 |
uname -r |
查看內(nèi)核全部信息 |
uname -a |
開(kāi)啟防火墻(僅針對(duì)CentOS 7) |
systemctl start firewalld.service |
關(guān)閉防火墻(僅針對(duì)CentOS 7,用虛擬機(jī)練習(xí)推薦關(guān)閉) |
systemctl stop firewalld.service |
三、網(wǎng)絡(luò)篇
- 查看IP(
Minimal
版沒(méi)有ifconfig
命令)ip addrvi /etc/sysconfig/network-scripts/ifcfg-eth0service network restart - 修改配置文件(文件名不一定叫這個(gè))
- 將ONBOOT改為yes,意思是在系統(tǒng)啟動(dòng)時(shí)是否激活網(wǎng)卡
- 將NM_CONTROLLED改為yes,如果沒(méi)有添加這一行,意思是實(shí)時(shí)生效,無(wú)需重啟網(wǎng)卡
- 重啟網(wǎng)絡(luò)服務(wù)
四、通訊篇
默認(rèn)情況下宿主機(jī)是不能訪問(wèn)virtualbox內(nèi)部的,所以要做如下操作
- 查看宿主機(jī)網(wǎng)絡(luò)連接,安裝virtualbox時(shí)會(huì)默認(rèn)創(chuàng)建一個(gè)名為VirtualBox Host-Only Network的網(wǎng)絡(luò)連接
- 查看ip段,通常是192.168.56.*,不必修改,記住即可
- 修改虛擬機(jī)網(wǎng)絡(luò)設(shè)置,添加網(wǎng)卡2,連接方式選擇
僅主機(jī)(Host-Only)適配器
,保存 - 在虛擬機(jī)內(nèi)使用
ip addr
重新查看,記住新網(wǎng)卡的ip段,必須和VirtualBox Host-Only Network的IP段一致,如果一致,在宿主機(jī)訪問(wèn)虛擬機(jī),查看是否能ping通rpm -qa|grep vsftpdyum -y install vsftpdservice vsftpd start - 檢查vsftpd軟件是否安裝,默認(rèn)沒(méi)有安裝,無(wú)法遠(yuǎn)程連接該系統(tǒng)
- 安裝vsftpd
- 修改/etc/vsftpd/下的ftpusers和user_list文件,刪除拒絕遠(yuǎn)程登錄的賬號(hào)
- 啟動(dòng)vsftpd服務(wù)
五、基本工具
- 更新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
版默認(rèn)只安裝了vi,沒(méi)有vim) - 安裝gcc(C語(yǔ)言源碼編譯)
- 安裝zlib(解壓縮工具)
- 安裝wget(下載工具)
- 安裝pcre(正則表達(dá)式)
- 安裝openssl(用于https)
- 安裝make(安裝工具)
六、環(huán)境變量
linux的環(huán)境變量分多個(gè),級(jí)別不同
系統(tǒng)級(jí)環(huán)境變量
- /etc/profile
- /etc/environment
用戶級(jí)環(huán)境變量
- ~/.profile
- ~/.bashrc
修改后立即生效
source 環(huán)境變量
七、軟件篇
推薦用wget [url]
命令下載,也可用ftp上傳,無(wú)需安裝的推薦放到/usr/lib/
路徑下
Jdk
無(wú)需安裝,直接解壓縮后配置環(huán)境變量既可用
以jdk7為例,修改環(huán)境變量,在末尾添加以下幾行(配置完畢后不要忘記使用source
令環(huán)境變量生效)
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
無(wú)需安裝,直接解壓縮后配置環(huán)境變量既可用,但需要先安裝Jdk
以scala-2.11為例,修改環(huán)境變量,在末尾添加以下幾行(配置完畢后不要忘記使用source
令環(huán)境變量生效)
export SCALA_HOME=/usr/lib/scala/scala-2.11 (scala類庫(kù)解壓路徑) export PATH=$PATH:${SCALA_HOME}/bin
Tomcat
無(wú)需安裝,直接解壓縮后配置環(huán)境變量既可用,但需要先安裝Jdk
以Tomcat8.0.35為例修改環(huán)境變量,在末尾添加一行(配置完畢后不要忘記使用source
令環(huán)境變量生效)
export TOMCAT_HOME=/usr/local/tomcat-8.0.35 (Tomcat解壓路徑)
配置虛擬內(nèi)存,在#!/bin/sh
下面添加
JAVA_OPTS='-Xms256m (初始化堆內(nèi)存) -Xmx512m (最大堆內(nèi)存) -XX:PermSize=256m (初始化持久代,JDK8已取消) -XX:MaxPermSize=512m (最大持久代,JDK8已取消)'
Nginx
安裝
Minimal
版沒(méi)有依賴項(xiàng)源碼,需要先下載pcre/openssl/zlib的源碼再安裝(不是安裝后的,install文件夾里都有),安裝包推薦放到/usr/src/
路徑下
解壓安裝包后,執(zhí)行configure
文件,如果不能執(zhí)行,先用chmod
賦權(quán),并追加參數(shù)
./configure \ --prefix=/usr/local/nginx-1.11.0 (安裝路徑) \ --with-http_ssl_module (支持https) \ --with-http_stub_status_module (支持狀態(tài)監(jiān)控) \ --with-pcre=/usr/src/pcre (pcre源碼路徑) --with-openssl=/usr/src/openssl (openssl源碼路徑) --with-zlib=/usr/src/zlib (zlib源碼路徑)
成功后依次執(zhí)行
make make install
啟動(dòng)nginx服務(wù)器
/usr/local/nginx-1.11.0/sbin/nginx
停止nginx服務(wù)器
/usr/local/nginx-1.11.0/sbin/nginx -s stop
重新加載配置
/usr/local/nginx-1.11.0/sbin/nginx -s reload
基礎(chǔ)配置
主配置文件:conf/nginx.conf
worker_processes 1; #nginx進(jìn)程數(shù),建議設(shè)置為CPU總核心數(shù) events { worker_connections 1024; #單個(gè)進(jìn)程最大連接數(shù),nginx最大連接數(shù)=進(jìn)程數(shù)*單進(jìn)程最大連接數(shù) } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #超時(shí)時(shí)間,單位為秒 server { #代理服務(wù)器數(shù)量,可以配置多個(gè) listen 80; #監(jiān)聽(tīng)端口 server_name localhost; #服務(wù)器域名 charset utf-8; #字符集 location / { proxy_pass http://proxy.com; #反向代理名稱,用于匹配集群 proxy_redirect default; } error_page 500 502 503 504 /50x.html; #錯(cuò)誤碼對(duì)應(yīng)轉(zhuǎn)向 location = /50x.html { root html; } } upstream proxy.com { #這里匹配反向代理名稱 server 192.168.56.1:9000 weight=1; #真實(shí)項(xiàng)目地址以及權(quán)重 server 192.168.56.101:9000 weight=1; #權(quán)重?cái)?shù)字越大被分配到的幾率就越高 } }
MySQL
從個(gè)人角度來(lái)說(shuō),本人不推薦使用MySQL數(shù)據(jù)庫(kù),可以的話盡量使用MariaDB,個(gè)中緣由自行Google,如果一定要使用MySQL,請(qǐng)看如下配置
安裝
在CentOS 7中,系統(tǒng)默認(rèn)安裝了MariaDB,需要先進(jìn)行卸載,首先使用下面命令查看已安裝的MariaDB相關(guān)軟件
rpm -qa|grep mariadb
使用以下命令卸載
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
Minimal
版本也沒(méi)有l(wèi)ibaio,需要安裝
yum -y install libaio
以及net-tools
yum -y install net-tools
Linux下的MySQL分為源碼安裝和rpm安裝,因?yàn)樵创a安裝需要具備所有依賴項(xiàng)的源碼,所以強(qiáng)烈不推薦使用源碼安裝,在官網(wǎng)下載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
安裝完畢,先不要啟動(dòng)MySQL
配置
修改配置文件
vim /etc/my.cnf
在mysqld下面添加一行
skip-grant-tables
保存后啟動(dòng)MySQL
service mysqld start
此時(shí)可用空密碼直接進(jìn)入MySQL
mysql -uroot -p
切換到mysql庫(kù)并修改密碼,MySQL5.7版本的密碼字段是authentication_string,低版本是password
use mysql update user set authentication_string=password('123456') where user='root';
退出后停止數(shù)據(jù)庫(kù),將/etc/my.cnf
里的修改刪除后重新啟動(dòng)數(shù)據(jù)庫(kù),配置完畢
MariaDB
安裝
MariaDB是CentOS推薦的數(shù)據(jù)庫(kù),安裝只需要一行命令即可
yum -y install mariadb mariadb-server
設(shè)置為開(kāi)機(jī)自啟動(dòng)
systemctl enable mariadb
配置
安裝完成后先啟動(dòng)MariaDB
service mariadb start
運(yùn)行配置向?qū)?/p>
mysql_secure_installation
- 第一個(gè)提示讓輸入當(dāng)前密碼,直接回車
- 第二個(gè)提示是否設(shè)置密碼,直接回車
- 輸入密碼,回車
- 確認(rèn)密碼,回車
- 是否刪除匿名用戶,直接回車
- 是否禁止遠(yuǎn)程登錄,視實(shí)際情況而定
- 是否刪除test數(shù)據(jù)庫(kù),直接回車
- 是否重新加載權(quán)限,回車,配置完畢
PostgreSQL
安裝
PostgreSQL也是CentOS推薦的數(shù)據(jù)庫(kù),安裝同樣只需要一行命令即可
yum install postgresql*
初始化數(shù)據(jù)庫(kù)
postgresql-setup initdb
設(shè)置為開(kāi)機(jī)自啟動(dòng)
systemctl enable postgresql
配置
先啟動(dòng)PostgreSQL
systemctl start postgresql
進(jìn)入數(shù)據(jù)庫(kù)
su - postgres
創(chuàng)建角色
createuser admin(用戶名)
創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例
createdb -e -O admin(用戶名) testdb(實(shí)例名)
進(jìn)入查詢分析器
psql
設(shè)置密碼
\password admin;(用戶名,用分號(hào)結(jié)束)
退出查詢分析器
\q(不需要分號(hào)結(jié)束)
退出數(shù)據(jù)庫(kù)
exit
修改監(jiān)聽(tīng)
vim /var/lib/pgsql/data/postgresql.conf
將這句注釋打開(kāi)并修改
listen_addresses = '*'
修改驗(yàn)證方式
vim /var/lib/pgsql/data/pg_hba.conf
將如下內(nèi)容修改或復(fù)制
host all all 127.0.0.1/32(允許哪個(gè)IP訪問(wèn),如果允許全部,則寫(xiě)成0.0.0.0/0) md5(md5為密碼驗(yàn)證)
重啟數(shù)據(jù)庫(kù)
systemctl restart postgresql
使用密碼登錄數(shù)據(jù)庫(kù)
psql -U admin(用戶名) -d testdb(數(shù)據(jù)庫(kù)) -h 127.0.0.1(登錄哪個(gè)IP)
登錄成功,配置完畢
Redis
解壓后先進(jìn)入redis目錄,以3.2.0為例
cd redis-2.8.17
然后make
make
進(jìn)入src目錄
cd src
運(yùn)行redis-server啟動(dòng)redis服務(wù)
./redis-server
但是這樣啟動(dòng)后不會(huì)返回命令行,所以在命令后加&,啟動(dòng)redis后返回命令行
./redis-server &
Hadoop
無(wú)需安裝,直接解壓縮后修改配置文件既可用,但需要先安裝Jdk
不配私鑰只能玩單機(jī)版,就個(gè)人學(xué)習(xí)而言,單機(jī)版已經(jīng)足夠
以hadoop-2.7.2為例,解壓后進(jìn)入hadoop路徑,創(chuàng)建4個(gè)文件夾
mkdir tmp mkdir hdfs mkdir hdfs/data mkdir hdfs/name
配置環(huán)境變量,在末尾添加以下幾行(配置完畢后不要忘記使用source
令環(huán)境變量生效)
export HADOOP_HOME=/root/download/hadoop-2.7.2 export PATH=$PATH:${HADOOP_HOME}/bin
hadoop不能以IP訪問(wèn),要修改主機(jī)名和host映射,主機(jī)名修改(僅針對(duì)CentOS 7)
hostnamectl set-hostname 主機(jī)名
修改host映射文件
vim /etc/hosts
修改core-site.xml,注意這里是相對(duì)路徑
vim etc/hadoop/core-site.xml
在configuration標(biāo)簽中添加
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop:9000</value> <!-- value的含義為hdfs://主機(jī)名:端口號(hào) --> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/root/download/hadoop-2.7.2/tmp</value> <!-- 這里要用絕對(duì)路徑 --> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property>
修改hdfs-site.xml,相對(duì)路徑
vim etc/hadoop/hdfs-site.xml
同樣在configuration標(biāo)簽中添加
<property> <name>dfs.namenode.name.dir</name> <value>file:/root/download/hadoop-2.7.1/hdfs/data</value> <!-- 修改絕對(duì)路徑 --> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/download/hadoop-2.7.1/fdfs/data</value> <!-- 修改絕對(duì)路徑 --> </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標(biāo)簽中添加
<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,相對(duì)路徑
vim etc/hadoop/yarn-site.xml
同樣在configuration標(biāo)簽中添加
<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,相對(duì)路徑
vim etc/hadoop/hadoop-env.sh
修改JAVA_HOME,這里比較操蛋,配置環(huán)境變量也沒(méi)有用
export JAVA_HOME=/usr/lib/jvm/jdk7
修改slaves,配置從服務(wù)器,相對(duì)路徑
vim etc/hadoop/slaves
格式為每行一個(gè),如下,再次強(qiáng)調(diào),不配私鑰只能玩單機(jī)版
hadoop cluster01 cluster02
配置成功后,將hadoop復(fù)制到各個(gè)從服務(wù)器上,并在主服務(wù)器進(jìn)行初始化
hadoop namenode -format
啟動(dòng)hadoop集群
sh sbin/start-all.sh
停止hadoop集群
sh sbin/stop-all.sh
在瀏覽器輸入http://主服務(wù)器IP:8088
查看集群信息
Docker
安裝
CentOS內(nèi)置Docker,安裝只需要一行命令即可
yum -y install docker
設(shè)置為開(kāi)機(jī)自啟動(dòng)
systemctl enable docker.service
Docker安裝完畢,有時(shí)間會(huì)補(bǔ)上Docker的用法
未完待續(xù)
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!