Linux-centos7

Posted Alive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-centos7相关的知识,希望对你有一定的参考价值。

一、安装虚拟化工具virtualbox或VMware工具

1、bios中开启虚拟化支持

1.1、BIOS中的虚拟化技术

本文介绍了如何在主板BIOS中启用虚拟化技术(VT)。要运行一些操作系统,虚拟化软件和虚拟机,硬件虚拟化就需要启用。大多数情况下,不需要虚拟化技术的操作系统可以正常运行在启用了虚拟化技术的系统,但有些需要这种技术的操作系统,必须启用虚拟化技术才能运行。
所有最新的处理器和主板都支持虚拟化技术,检查一下你的主板厂商是否支持并且要知道如何启用或禁用BIOS中的VT。当在主板上启用虚拟化技术后,操作系统能立即检测到。

1‘2、在哪里能找到在BIOS中的虚拟化技术(VT)?

首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可,如下图:

在BIOS中开启虚拟化技术

不同的主板可能选项会有所不同,请自行参考主板厂商的帮助。

在你更改设置后,禁用或启用虚拟化,建议关闭计算机最小10秒,然后重新启动机器(冷启动),确保正常开启虚拟化技术。如果你的主板是最新的,它在冷启动后能够检测到配置变化。每当我改变我的主板上的VT设置,它都会自动推迟下次重新启动生效。

2、安装虚拟机工具,省略

3、virtualbox_NAT模式下客户端Xshell链接主机端

一、主机不能上网情况

1.设置虚拟机网络为NAT模式(网络地址转换)

 

2.开启虚拟机内的ssh服务
service sshd restart //服务开启命令
3.查看主机IP地址
断网情况下,主机IP即为127.0.0.1
4.设置虚拟机的网络地址转换



5.客户端链接 

注意:主机位置,填写物理机ip,填写物理机ip,填写物理机ip!!!

二、主机能上网

1.设置虚拟机网络为NAT模式(网络地址转换)


2.确定虚拟机内的ssh服务开启
service sshd restart //服务开启命令
3.查看主机IP地址
win+r ->cmd ->ipconfig

4.设置虚拟机的网络地址转换


5.客户端链接

ps:安装vmware需注意:

安装vm,注意如设置静态,且用nat方式,虚拟机中配置好网卡后,需要物理机中将vmnet8,的网段设置成相同网段,才能让物理机连接到虚拟机

  虚拟机:

[root@localhost app01]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
UUID=20853117-4629-44c5-8aac-e2cc7e08ef5b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.124.100
NETMASK=255.255.255.0
GATEWAY=192.168.124.2
DNS1=223.5.5.5
DNS2=223.6.6.6  

vm虚拟网络编辑器

物理机vmnet8网卡设置

 

二、准备工作

0、关闭selinux防火墙

查看状态: getenforce 

编辑: /etc/selinux/config   设置成disable

重启主机才能生效

链接:https://blog.csdn.net/GGxiaobai/article/details/53505095

1、安装管理Linux常用管理工具

安装vim,wget【-O 下载】,lrzsz【文件上传下载】,tree【目录树】,provides pstree【进程树】,bash-completion【命令补全】,bink-utils【nolookup】,tcpdump【抓包】,net-tools【网络命令工具ifconfig,netstat】

1.1、curl和wget的区别和使用

curl和wget基础功能有诸多重叠,如下载等。

在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览器);wget由于支持ftp和Recursive所以长于下载,用于下载文件(迅雷)。

  1.下载文件

curl -O http://man.linuxde.net/text.iso                    #O大写,不用O只是打印内容不会下载
wget http://www.linuxde.net/text.iso #不用参数,直接下载文件

  2.下载文件并重命名

curl -o rename.iso http://man.linuxde.net/text.iso         #o小写
wget -O rename.zip http://www.linuxde.net/text.iso #O大写

  3.断点续传

curl -O -C -URL http://man.linuxde.net/text.iso            #C大写
wget -c http://www.linuxde.net/text.iso #c小写

  4.限速下载

curl --limit-rate 50k -O http://man.linuxde.net/text.iso
wget --limit-rate=50k http://www.linuxde.net/text.iso

  5.显示响应头部信息

curl -I http://man.linuxde.net/text.iso
wget --server-response http://www.linuxde.net/test.iso

  6.wget利器--打包下载网站

wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/

1.2、在Linux中安装“lrzsz”包,可以上传下载文件rz,sz,可以直接拖拽

yum install -y lrzsz  rz上传当前目录    sz下载当本地

1.3、安装 “provides pstree” 包,可以查看目录树,及服务树,命令为tree,pstree

yum provides pstree

yum install -y tree tree 查看目录树 pstree 可以查看进程服务的父子关系 [root@addmoney ~]# tree . └── test.py [root@addmoney ~]# pstree systemd─┬─NetworkManager─┬─dhclient │ └─2*[{NetworkManager}] ├─agetty ├─auditd───{auditd} ├─crond ├─dbus-daemon ├─mysqld───28*[{mysqld}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd───sshd───bash───pstree ├─systemd-journal ├─systemd-logind └─systemd-udevd

1.4、查看端口占用

ss -lntp  查看端口占用

1.5、安装net-tools,可以使用ifconfig命令查看网络

1、通过yum search 这个命令我们发现ifconfig这个命令是在net-tools.x86_64这个包里,netstat也在这个包里

2、yum install net-tools 安装这个包就行了

 1.6、安装命令补全,centos7 迷你版,按tab没有补全

yum install bash-completion -y

 1.7、网络配置

vim  /etc/sysconfig/network-scripts/ifcfg-enp0s3

-----动态ip配置

TYPE=Ethernet      
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp    # 选择是dicp还是静态的static或none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=fc2258a3-bc95-4ac5-b95d-828218cceb91
DEVICE=enp0s3
ONBOOT=yes     # 开机启动网卡

-----静态ip配置
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:33:F7:3A
ONBOOT=yes
IPADDR=192.168.205.3
NETMASK=255.255.255.0
GATEWAY=192.168.205.2

----配好后,重启网卡
systemctl  restart  network

 1.8、网路抓包tcpdump

yum -y install tcpdump

-nn   计算机+域名    改为 ip:端口
-i   指定网卡,eth0,eth1


tcpdump  host   ip1   and  ip2

1. 9、修改环境变量

查看PATH:echo $PATH
以添加mongodb server为列
修改方法一:
export PATH=/usr/local/mongodb/bin:$PATH
//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户

 

修改方法二:
通过修改.bashrc文件:
vim ~/.bashrc 
//在最后一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户

 

修改方法三:
通过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

 

修改方法四:
通过修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/usr/local/mongodb/bin”
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

1.10、nslookup命令是常用域名查询工具,就是查DNS信息用的命令

nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。

进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。或者输入nslookup -nameserver/ip。进入非交互模式,就直接输入nslookup 域名就可以了。 

yum  provides */nslookup   找到命令nslookup命令的软件包,也可以加上install 直接安装
yum -y install bink-utils

#解析
nslookup www.oldboyedu.com

1.11、xshell密钥连接远程主机

目的是通过密钥登录主机以root账户
1、通过xshell密钥生成向导,生成密钥,保存文件到本地,命名如为:my_token.pub
2、密码登录远端主机
3、在root家目录下,默认没有.ssh目录,需要创建
  mkdir -p ~/.ssh/
  touch authorized_keys
  chmod 600 ~/.ssh
4、切换到.ssh目录,将生成的密钥文件上传到此目录 可通过rz
5、cat my_token.pub > authorized_keys
6、可到/etc/ssh/sshd-config配置取消密码登录,使用密钥登录
7、xshell现在登录可选择密钥登录了

2、配置yum源【配置阿里云】

mv /etc/yum.repos.d/CentOS-Base.repo    /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  # centos7
清空yum缓存并且生成新的yum缓存 yum clean all yum makecache
安装软件扩展源 yum install -y epel-release
 

3、配置eprl仓库【第三方软件,如nginx,pip包管理器】& 配置ius仓库【第三方,yum安装如python36u】

yum install epel-release   

yum install https://centos7.iuscommunity.org/ius-release.rpm
安装python3.6 最好配置ius源
yum instll https://centos7.iuscommunity.org/ius-release.rpm
yum groupinstall devolpment
yum install -y python36u

 4、编译的方式安装python

环境包需提前安装
yum install -y gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 
1.下载python3版本
   curl -O https://www.python.org/ftp/python/3.6.0/Python-3.6.5.tgz
2.解压缩源码
   tar -zxvf Python-3.6.5.tgz 
3.编译三部曲
  ./configure –prefix=/opt/python3.6/  #指定编译装到/opt/python3.6/下
  make && make install  #编译和安装
4、修改环境变量[配置全局所有用户]
echo "export PATH=$PATH:/opt/python3.6/bin" >> /etc/profile
5、配置完毕后想用python3,输入python3即可

ps:htlp:https://www.cnblogs.com/pyyu/p/7402145.html

5、安装pip 

yum install -y python-pip
pip3 list

ps:https://www.linuxidc.com/Linux/2018-05/152595.htm

 6、安装django

pip3  install  django==1.11.5

 7、安装mariadb后,启动服务后,不立即使用,初始化命令 

mariadb为mysql数据库的分支,开源,用法和mysql一样!

 

初始化:mysql_secure_installation 

备份:mysqldump -u root -p --all-database >/tmp/all_db.dump

还原:mysql -uroot -p < /tmp/all_db.dump

导入sql文件:

切入某个数据库

source  /tmp/all.sql     # 绝对路径,导入的是结构和数据

8、python虚拟环境的

方法一、用virtualenv

1、安装pip包管理器

yum  -y install  python-pip

2、通过pip安装virtualenv包

pip3 install  virtualenv

3、创建存放虚拟环境的总目录

mkdir  all_env

4、创建虚拟环境-可指定python版本及虚拟环境目录名【想用虚拟环境指定python版本必须大于2.7】

virtualenv   --python=python2  --no-site-packages  env_python2    <==指定目录名

上面命令就创建了env_python2目录,且在其目录结构为:bin  include  lib lib64 pip-selfcheck.json

5、进入虚拟环境

source  env_python2/bin/activate        # 此时进入虚拟环境

6、安装各种模块,包,创建py文件等

pip   install   django==1.11.5

pip install request

pip  list 

7、退出虚拟环境

deacitvate

8、删除虚拟环境

需要安装扩展包,略

开通端口

firewall-cmd --zone=public --add-port=8000/tcp --permanent

方法二、用pipenv

yum install -y python-pip
pip3 install pipenv
mkdir myenv/env1
pipenv --python 3.6  # 指定python版本
pipenv shell    # 激活环境
pipenv install django==1.11.5
pipenv --venv  # 显示虚拟环境信息
pipenv graph   # 查看目前安装的库及依赖

ps:https://www.jianshu.com/p/00af447f0005

语法:

创建pipenv  pipenv

启动pipenv  pipenv shell(为存在虚拟环境可自动创建)

退出pipenv  exit

查找所有安装包  piplist

环境内包的依赖展示  pipenv graph

查找虚拟环境的路径  pipenv --venv

卸载安装包  pipenv uninstall

9、安装nginx

配置环境依赖

一. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++
二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel
三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel
四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

编译安装

1.下载源码包
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
2.解压缩源码
tar -zxvf nginx-1.12.0.tar.gz
3.配置,编译安装
./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module 
make && make install 
4.启动nginx,进入sbin目录,找到nginx启动命令
cd sbin
./nginx #启动
./nginx -s stop #关闭
./nginx -s reload #重新加载
./nginx -t 检查配置文件语法

  

CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld
 
 
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
 
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

以上是关于Linux-centos7的主要内容,如果未能解决你的问题,请参考以下文章

linux-Centos7安装python3并与python2共存

linux-Centos7安装python3并与python2共存

linux-Centos7安装python3并与python2共存

[转] linux-Centos7安装python3并与python2共存

Linux-Centos7-Wireshark命令行抓包

linux-Centos7安装php