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號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!