前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux及常用工具配置

Linux及常用工具配置

原创
作者头像
咻一咻
修改2020-06-19 17:50:26
2K0
修改2020-06-19 17:50:26
举报
文章被收录于专栏:咻一咻咻一咻

身为码农,表示十分痛恨服务器上的各种乱七八糟配置,平时很少用到Linux命令,对Linux一直保持在学了就忘,忘了再学的死循环中,故做此笔记,可能以后翻看的机会也不多,毕竟总有用到的时候

PS:本文仅针对CentOS,使用其他发行版Linux请绕行,有补充的可以fork我

另外本文不包含安装部分,不会安装的请自行查阅


一、准备

操作系统

  • 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的环境变量分多个,级别不同

系统级环境变量

  1. /etc/profile
  2. /etc/environment

用户级环境变量

  1. ~/.profile
  2. ~/.bashrc

修改后立即生效

代码语言:txt
复制
source 环境变量

七、软件篇

推荐用wget [url]命令下载,也可用ftp上传,无需安装的推荐放到/usr/lib/路径下

Jdk

无需安装,直接解压缩后配置环境变量既可用

以jdk7为例,修改环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source令环境变量生效)

代码语言:txt
复制
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令环境变量生效)

代码语言:txt
复制
export SCALA_HOME=/usr/lib/scala/scala-2.11 (scala类库解压路径)
export PATH=$PATH:${SCALA_HOME}/bin

Tomcat

无需安装,直接解压缩后配置环境变量既可用,但需要先安装Jdk

以Tomcat8.0.35为例修改环境变量,在末尾添加一行(配置完毕后不要忘记使用source令环境变量生效)

代码语言:txt
复制
export TOMCAT_HOME=/usr/local/tomcat-8.0.35 (Tomcat解压路径)

配置虚拟内存,在#!/bin/sh下面添加

代码语言:txt
复制
JAVA_OPTS='-Xms256m (初始化堆内存)
-Xmx512m (最大堆内存)
-XX:PermSize=256m (初始化持久代,JDK8已取消)
-XX:MaxPermSize=512m (最大持久代,JDK8已取消)'

Nginx
安装

Minimal版没有依赖项源码,需要先下载pcre/openssl/zlib的源码再安装(不是安装后的,install文件夹里都有),安装包推荐放到/usr/src/路径下

解压安装包后,执行configure文件,如果不能执行,先用chmod赋权,并追加参数

代码语言:txt
复制
./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源码路径)

成功后依次执行

代码语言:txt
复制
make
make install

启动nginx服务器

代码语言:txt
复制
/usr/local/nginx-1.11.0/sbin/nginx

停止nginx服务器

代码语言:txt
复制
/usr/local/nginx-1.11.0/sbin/nginx -s stop

重新加载配置

代码语言:txt
复制
/usr/local/nginx-1.11.0/sbin/nginx -s reload
基础配置

主配置文件:conf/nginx.conf

代码语言:txt
复制
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相关软件

代码语言:txt
复制
rpm -qa|grep mariadb

使用以下命令卸载

代码语言:txt
复制
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

Minimal版本也没有libaio,需要安装

代码语言:txt
复制
yum -y install libaio

以及net-tools

代码语言:txt
复制
yum -y install net-tools

Linux下的MySQL分为源码安装和rpm安装,因为源码安装需要具备所有依赖项的源码,所以强烈不推荐使用源码安装,在官网下载rpm整合包就好,这里以mysql-5.7.12为例,下载后解压,不需要全部安装,依次安装如下安装包即可,顺序不可颠倒

代码语言:txt
复制
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

配置

修改配置文件

代码语言:txt
复制
vim /etc/my.cnf

在mysqld下面添加一行

代码语言:txt
复制
skip-grant-tables

保存后启动MySQL

代码语言:txt
复制
service mysqld start

此时可用空密码直接进入MySQL

代码语言:txt
复制
mysql -uroot -p

切换到mysql库并修改密码,MySQL5.7版本的密码字段是authentication_string,低版本是password

代码语言:txt
复制
use mysql
update user set authentication_string=password('123456') where user='root';

退出后停止数据库,将/etc/my.cnf里的修改删除后重新启动数据库,配置完毕


MariaDB
安装

MariaDB是CentOS推荐的数据库,安装只需要一行命令即可

代码语言:txt
复制
yum -y install mariadb mariadb-server

设置为开机自启动

代码语言:txt
复制
systemctl enable mariadb
配置

安装完成后先启动MariaDB

代码语言:txt
复制
service mariadb start

运行配置向导

代码语言:txt
复制
mysql_secure_installation
  • 第一个提示让输入当前密码,直接回车
  • 第二个提示是否设置密码,直接回车
  • 输入密码,回车
  • 确认密码,回车
  • 是否删除匿名用户,直接回车
  • 是否禁止远程登录,视实际情况而定
  • 是否删除test数据库,直接回车
  • 是否重新加载权限,回车,配置完毕

PostgreSQL

安装

PostgreSQL也是CentOS推荐的数据库,安装同样只需要一行命令即可

代码语言:txt
复制
yum install postgresql*

初始化数据库

代码语言:txt
复制
postgresql-setup initdb

设置为开机自启动

代码语言:txt
复制
systemctl enable postgresql

配置

先启动PostgreSQL

代码语言:txt
复制
systemctl start postgresql

进入数据库

代码语言:txt
复制
su - postgres

创建角色

代码语言:txt
复制
createuser admin(用户名)

创建数据库实例

代码语言:txt
复制
createdb -e -O admin(用户名) testdb(实例名)

进入查询分析器

代码语言:txt
复制
psql

设置密码

代码语言:txt
复制
\password admin;(用户名,用分号结束)

退出查询分析器

代码语言:txt
复制
\q(不需要分号结束)

退出数据库

代码语言:txt
复制
exit

修改监听

代码语言:txt
复制
vim /var/lib/pgsql/data/postgresql.conf

将这句注释打开并修改

代码语言:txt
复制
listen_addresses = '*'

修改验证方式

代码语言:txt
复制
vim /var/lib/pgsql/data/pg_hba.conf

将如下内容修改或复制

代码语言:txt
复制
host  all  all  127.0.0.1/32(允许哪个IP访问,如果允许全部,则写成0.0.0.0/0)  md5(md5为密码验证)

重启数据库

代码语言:txt
复制
systemctl restart postgresql

使用密码登录数据库

代码语言:txt
复制
psql -U admin(用户名) -d testdb(数据库) -h 127.0.0.1(登录哪个IP)

登录成功,配置完毕


Redis

解压后先进入redis目录,以3.2.0为例

代码语言:txt
复制
cd redis-2.8.17

然后make

代码语言:txt
复制
make

进入src目录

代码语言:txt
复制
cd src

运行redis-server启动redis服务

代码语言:txt
复制
./redis-server

但是这样启动后不会返回命令行,所以在命令后加&,启动redis后返回命令行

代码语言:txt
复制
./redis-server &

Hadoop

无需安装,直接解压缩后修改配置文件既可用,但需要先安装Jdk

不配私钥只能玩单机版,就个人学习而言,单机版已经足够

以hadoop-2.7.2为例,解压后进入hadoop路径,创建4个文件夹

代码语言:txt
复制
mkdir tmp
mkdir hdfs
mkdir hdfs/data
mkdir hdfs/name

配置环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source令环境变量生效)

代码语言:txt
复制
export HADOOP_HOME=/root/download/hadoop-2.7.2
export PATH=$PATH:${HADOOP_HOME}/bin

hadoop不能以IP访问,要修改主机名和host映射,主机名修改(仅针对CentOS 7)

代码语言:txt
复制
hostnamectl set-hostname 主机名

修改host映射文件

代码语言:txt
复制
vim /etc/hosts

修改core-site.xml,注意这里是相对路径

代码语言:txt
复制
vim etc/hadoop/core-site.xml

在configuration标签中添加

代码语言:txt
复制
<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,相对路径

代码语言:txt
复制
vim etc/hadoop/hdfs-site.xml

同样在configuration标签中添加

代码语言:txt
复制
<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>

重命名模板

代码语言:txt
复制
mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site

修改mapred-site.xml

代码语言:txt
复制
vim etc/hadoop/mapred-site.xml

同样在configuration标签中添加

代码语言:txt
复制
<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,相对路径

代码语言:txt
复制
vim etc/hadoop/yarn-site.xml

同样在configuration标签中添加

代码语言:txt
复制
<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,相对路径

代码语言:txt
复制
vim etc/hadoop/hadoop-env.sh

修改JAVA_HOME,这里比较操蛋,配置环境变量也没有用

代码语言:txt
复制
export JAVA_HOME=/usr/lib/jvm/jdk7

修改slaves,配置从服务器,相对路径

代码语言:txt
复制
vim etc/hadoop/slaves

格式为每行一个,如下,再次强调,不配私钥只能玩单机版

代码语言:txt
复制
hadoop
cluster01
cluster02

配置成功后,将hadoop复制到各个从服务器上,并在主服务器进行初始化

代码语言:txt
复制
hadoop namenode -format

启动hadoop集群

代码语言:txt
复制
sh sbin/start-all.sh

停止hadoop集群

代码语言:txt
复制
sh sbin/stop-all.sh

在浏览器输入http://主服务器IP:8088查看集群信息


Docker
安装

CentOS内置Docker,安装只需要一行命令即可

代码语言:txt
复制
yum -y install docker

设置为开机自启动

代码语言:txt
复制
systemctl enable docker.service

Docker安装完毕,有时间会补上Docker的用法

未完待续

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、准备
  • 二、系统篇
  • 三、网络篇
  • 四、通讯篇
  • 五、基本工具
  • 六、环境变量
  • 七、软件篇
    • Jdk
      • Scala
        • Tomcat
          • Nginx
            • 安装
            • 基础配置
          • MySQL
            • 安装
            • 配置
          • MariaDB
            • 安装
            • 配置
          • PostgreSQL
            • Redis
              • Hadoop
                • Docker
                  • 安装
              相关产品与服务
              云数据库 SQL Server
              腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档