centos安装daemon centos7

这篇文章给大家聊聊关于centos安装daemon,以及centos7对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

linuxdaemon命令linuxdaemon

如何查看Linux系统安装的时间?

查看bin,daemon,adm等这些帐号的建立时间,这些帐号是在系统安装的时候创建的,所以这些帐号的创建时间基本上就是Linux系统的安装时间

1、查看bin帐号密码的时间

2、查看daemon帐号密码的时间

3、查看adm帐号密码的时间

通过已上用户查看到我这台机器是于2014年10月29日安装的。

daemon形式?

dockerrun指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的LinuxTerminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。另外,如果你需要跑容器里的bash,直接运行dockerrun-i-tCONTAINER_NAME/bin/bash就可以了,如果觉得参数比dockerattach多,可以设置一个别名(alias)来解决:aliasdockerbash=dockerrun-i-tCONTAINER_ID/bin/bash设置好别名后,直接运行dockerbash就可以进入容器的bash了

linux中dockers容器技术介绍?

linux中dockers容器技术其实就是管理熊雄起的引擎,是应用打包部署平台,可以为数据软件的应用提供基础。

什么是docker?

Docker就好比传统的货运集装箱

Docker是管理容器的引擎

Docker为应用打包部署平台,而非单纯的虚拟化技术

SaaS(app,云盘,微店,网站)PaaS(redis,nysql,nginx)是基于Docker的云平台

VMVSContainer

?

关于虚拟机

virsh命令管理

virt_manager图形化管理

libvirtd一个管理接口

qemu-kvm(cpu/mem)完全虚拟化

如果停掉libvirtd

systemctlstoplibvirtd

1

1

管理化命令不能工作,但是虚拟机依然存在,依然工作

容器

容器和物理机共享内核和一些重要的文件系统

比虚拟机更小,更轻

传统虚拟机和容器技术对比

?

容器是如何工作的

?

创建一个容器

?

yuminstallwget-y

cd/etc/yum.repos.d/

wget

1

2

3

1

2

3

?

要解决依赖性

在阿里云平台下载

然后下载的包和rhel7.6yum源里的包一起解决依赖性

yuminstalldocker-cecontainer-selinux-2.77-1.el7.noarch.rpm-y

systemctlstartdocker

1

2

1

2

注意:docker启动前关闭防火墙和关闭selinux

dockerinfo查看容器信息

1

1

发现有两个警告

解决:

sysctl-a|grepbridge-nf-call-iptables

vim/etc/sysctl.d/bridge.conf

1

2

1

2

net.bridge.bridge-nf-call-iptables=1

net.bridge.bridge-nf-call-ip6tables=1

sysctl--system生效

1

2

3

1

2

3

所有的容器数据都在/var/lib/docker里面

?

如果想要用普通用户做docker需要给这个文件给权限

yuminstallbash-*-y为了table补齐命令

1

1

用容器部署一个nginx服务

一般拉取太慢,设置一个加速器

?

cd/etc/docker/

vimdaemon.json

systemctldaemon-reload

systemctlrestartdocker

1

2

3

4

1

2

3

4

dockersearchnginx寻找镜像

dockerpullnginx拉取镜像(一般以服务名的是官方提供的)

dockerrun-d--namenginxnginx部署容器

dockerps

1

2

3

4

1

2

3

4

?

dockerinspectnginx查看nginx容器信息

1

1

?

用ipaddrshow命令查看桥接到docker0

yuminstallbridge-utils桥接命令

brctlshow

1

2

1

2

?

nginx部署成功

?

此时,nginx只能内部访问

如果需要外部访问,则删掉原nginx容器,用端口映射部署nginx

-d:打入后台

-p80:80:80映射80端口

dockerrun-d--namenginx-p80:80nginx

1

1

nginxhistorynginx:latest查看nginx镜像信息

iptables-tnat-nL

1

2

1

2

访问本机转发到172.17.0.2:80上去

?

用psax或top或netstat-antlp查看docker就是个进程

网页访问虚拟机ip可以看到nginx服务。

linux防火墙发展史?

1.认识防火墙

从逻辑上讲防火墙可以分为主机防火墙和网络防护墙。

主机防火墙:针对个别主机对出站入站的数据包进行过滤。(操作对象为个体)

网络防火墙:处于网络边缘,针对网络入口进行防护。(操作对象为整体)

从物理上讲防火墙可以分为硬件防火墙和软件防火墙。

硬件防火墙:通过硬件层面实现防火墙的功能,性能高,成本高。

软件防火墙:通过应用软件实现防火墙的功能,性能低,成本低。

2.系统防火墙发展过程

防火墙的发展史就是从墙到链再到表,也是从简单到复杂的过程。

防火墙工具变化如下:

ipfirewall--->ipchains--->iptables-->nftables(正在推广)

Linux2.0版内核中:包过滤机制为ipfw,管理工具是ipfwadm。

Linux2.2版内核中:包过滤机制为ipchain,管理工具是ipchains。

Linux2.4,2.6,3.0+版内核中:包过滤机制为netfilter,管理工具是iptables。

Linux3.1(3.13+)版内核中:包过滤机制为netfilter,中间采取daemon动态管理防火墙,管理工具是firewalld。

#目前低版本的firewalld通过调用iptables(command),它可以支持老的iptables规则(在firewalld里面叫做直接规则),

#同时firewalld兼顾了iptables,ebtables,ip6tables的功能。

3.iptables和nftables

nftables

nftables诞生于2008年,2013年底合并到Linux内核,从Linux3.13起开始作为iptables的替代品提供给用户。

它是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的{ip,ip6,arp,eb}_tables,它的用户空间管理工具是nft。

由于iptables的一些缺陷,目前正在慢慢过渡用nftables替换iptables,同时由于这个新的框架的兼容性,

所以nftables也支持在这个框架上运行直接iptables这个用户空间的管理工具。

nftables实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。

也就是说,nftables的核心可视为一个虚拟机,nftables的前端工具nft可以利用内核提供的表达式去模拟旧的iptables匹配,

维持兼容性的同时获得更大的灵活性。

而未来最新的firewalld(0.8.0)默认使用将使用nftables。详情可以看www.firewalld.org

iptables、nftables和firewalld之间的区别与联系

firewalld同时支持iptables和nftables,未来最新版本(0.8.0)默认将使用nftables。

简单的说firewalld是基于nftfilter防火墙的用户界面工具。而iptables和nftables是命令行工具。

firewalld引入区域的概念,可以动态配置,让防火墙配置及使用变得简便。

准确的说:iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables

nftables(command)是iptables(command)的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft,

同时未来firewalld最新版(0.8.0)也将默认支持nftables(command)。

iptables会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理

firewalld会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理

下图为iptables、firewalld、nftables之间的关系图:

?

4.centos6.X到centos7.X

centos6.X:防火墙由netfilter和iptables构成。其中iptables用于制定规则,又被称为防火墙的用户态;

而netfilter实现防火墙的具体功能,又被称为内核态。简单地讲,iptables制定规则,而netfilter执行规则。

centos7.X:防火墙在6.X防火墙的基础之上提出了新的防火墙管理工具,提出了区域的概念,通过区域定义网络链接以及安全等级。

5.怎样学好防火墙的配置?

1)OSI7层模型以及不同层对应哪些协议必须很熟悉#基础必备

2)TCP/IP三次握手,四次断开的过程,TCPHEADER,状态转换#基础必备

3)常用的服务端口要非常清楚了解。#基础必备

4)常用服务协议的原理,特别是http协议,icmp协议。#基础必备

5)能够熟练的利用tcpdump和wireshark进行抓包并分析,这样会更好#拓展

6)对计算机网络有研究,至少基本路由交换要很熟悉#拓展

6、企业中安全配置原则

尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。

并发不是特别大情况有外网IP,可以开启防火墙服务。

大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全。

CentOS安装Redis单实例

1、创建安装目录

为了方便管理我们一般统一软件的安装目录,这里选择安装的目录是:

/usr/local/soft

2、下载Redis

我们通过wget命令从Redis官网下载压缩包->\

当前最新版本下载地址->

cd/usr/local/softwget、解压tar-zxvfredis-6.2.4.tar.gz4、安装gcc依赖

Redis是C语言编写,编译需要GCC\Redis6.x.x版本支持了多线程,需要gcc的版本大于4.9,我们需要查看默认GCC版本,如果版本过低则需要升级

gcc-v

我的新安装的虚拟机CentOS显示->

证明我的没有安装gcc,安装gcc->

yuminstallgcc

再次查看安装后的版本,发现是4.8.5,这个是CentOS默认的版本,我们需要对gcc进行升级->

yum-yinstallcentos-release-sclyum-yinstalldevtoolset-9-gccdevtoolset-9-gcc-c++devtoolset-9-binutilssclenabledevtoolset-9bashecho"source/opt/rh/devtoolset-9/enable">>/etc/profile

查看升级后的版本->

5、编译安装cdredis-6.2.4/srcmakeinstall

编译过程如下:

看到如下结果输出则编译成功

或者在src目录下出现服务端和客户端的脚本

redis-sentinelredis-serverredis-cli6、修改配置文件

Redis的配置文件在解压目录下的redis.conf

6.1首先设置后台启动,防止窗口一关闭服务就挂掉

默认后台启动参数为no

#BydefaultRedisdoesnotrunasadaemon.Use'yes'ifyouneedit.#NotethatRediswillwriteapidfilein/var/run/redis.pidwhendaemonized.#WhenRedisissupervisedbyupstartorsystemd,thisparameterhasnoimpact.daemonizeno

修改成yes

#BydefaultRedisdoesnotrunasadaemon.Use'yes'ifyouneedit.#NotethatRediswillwriteapidfilein/var/run/redis.pidwhendaemonized.#WhenRedisissupervisedbyupstartorsystemd,thisparameterhasnoimpact.daemonizeyes6.2允许其他主机访问

根据Redis的文档配置注释,我们要运行其他主机访问有多种方式:

可以选择配置访问主机的IPaddress

bind-::相当于允许所有其它主机访问

bind0.0.0.0相当于允许所有其它主机访问

直接注释相当于允许所有其它主机访问

#bind192.168.1.10010.0.0.1#listensontwospecificIPv4addresses#bind127.0.0.1::1#listensonloopbackIPv4andIPv6#bind*-::*#likethedefault,allavailableinterfaces

我的处理方式,安装文档的注释来配置:

6.3配置访问密码

如果是要考虑安全性,一定要配置密码,找到requirepass配置处,新增如下配置(阿里云等云服务其外网访问一定要配置,作者被黑过,整台服务器重启都无法重启,损失惨重,但是穷,官方处理需要Money,建议这里一定要谨慎)

tar-zxvfredis-6.2.4.tar.gz07、启动Redis

使用redis-server来启动,启动的方式如下:

tar-zxvfredis-6.2.4.tar.gz1

或者这个也一样:

tar-zxvfredis-6.2.4.tar.gz2

查看端口是否启动成功:

tar-zxvfredis-6.2.4.tar.gz38、客户端

进入客户端的方式如下:

tar-zxvfredis-6.2.4.tar.gz49、停止Redis

停止Redis有两种方式:

方式一,在客户端中执行tar-zxvfredis-6.2.4.tar.gz5

tar-zxvfredis-6.2.4.tar.gz5

方式二,暴力kill-9

tar-zxvfredis-6.2.4.tar.gz610、配置别名

为了方便启动Redis和进入客户端,我们可以通过配置别名来实现

tar-zxvfredis-6.2.4.tar.gz7

添加如下配置:

注意''很重要

redis与rcli后面的=两边不能有空格

aliasredis='tar-zxvfredis-6.2.4.tar.gz1'aliasrcli='tar-zxvfredis-6.2.4.tar.gz4'

使配置生效:

tar-zxvfredis-6.2.4.tar.gz9

现在我们可以通过redis启动Redis服务,使用rcli进入Redis客户端:

如何搭建centos系统安装服务器

这是一个关于怎样在你的 CentOS 7上安装配置 VNC服务的教程。当然这个教程也适合 RHEL 7。在这个教程里,我们将学习什么是 VNC以及怎样在 CentOS 7上安装配置 VNC服务器。我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH来完成我们的管理任务。在这篇文章里,我们将配置 VNC来提供一个连接我们 CentOS 7服务器的方法。VNC允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。
VNC服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC服务器需要使用 VNC viewer这个客户端。一些 VNC服务器的优点:远程的图形管理方式让工作变得简单方便。剪贴板可以在 CentOS服务器主机和 VNC客户端机器之间共享。
CentOS服务器上也可以安装图形工具,让管理能力变得更强大。只要安装了 VNC客户端,通过任何操作系统都可以管理 CentOS服务器了。比 ssh图形转发和 RDP连接更可靠。那么,让我们开始安装 VNC服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。注意:以下命令必须以 root权限运行。要切换到 root,请在终端下运行“sudo-s”,当然不包括双引号(“”)
1.安装 X-Window首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。# yum check-update# yum groupinstall"X Window System"#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts###设置默认启动图形界面# unlink/etc/systemd/system/default.target# ln-sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target# reboot在服务器重启之后,我们就有了一个工作着的 CentOS 7桌面环境了。现在,我们要在服务器上安装 VNC服务器了。
2.安装 VNC服务器现在要在我们的 CentOS 7上安装 VNC服务器了。我们需要执行下面的命令。# yum install tigervnc-server-y
3.配置 VNC然后,我们需要在/etc/systemd/system/目录里创建一个配置文件。我们可以将/lib/systemd/sytem/vncserver@.service拷贝一份配置文件范例过来。# cp/lib/systemd/system/vncserver@.service/etc/systemd/system/vncserver@:1.service接着我们用自己最喜欢的编辑器(这儿我们用的 nano)打开/etc/systemd/system/vncserver@:1.service,找到下面这几行,用自己的用户名替换掉。举例来说,我的用户名是 linoxide所以我用 linoxide来替换掉:
ExecStart=/sbin/runuser-l<USER>-c"/usr/bin/vncserver%i"
PIDFile=/home/<USER>/.vnc/%H%i.pid替换成
ExecStart=/sbin/runuser-l linoxide-c"/usr/bin/vncserver%i"
PIDFile=/home/linoxide/.vnc/%H%i.pid如果是 root用户则
ExecStart=/sbin/runuser-l root-c"/usr/bin/vncserver%i"
PIDFile=/root/.vnc/%H%i.pid好了,下面重启 systemd。# systemctl daemon-reload最后还要设置一下用户的 VNC密码。要设置某个用户的密码,必须要有能通过 sudo切换到用户的权限,这里我用 linoxide的权限,执行“su linoxide”就可以了。# su linoxide$ sudo vncpasswd确保你输入的密码多于6个字符
4.开启服务用下面的命令(永久地)开启服务:$ sudo systemctl enable vncserver@:1.service启动服务。$ sudo systemctl start vncserver@:1.service
5.防火墙设置我们需要配置防火墙来让 VNC服务正常工作。$ sudo firewall-cmd--permanent--add-service vnc-server$ sudo systemctl restart firewalld.service现在就可以用 IP和端口号(LCTT译注:例如 192.168.1.1:1,这里的端口不是服务器的端口,而是视 VNC连接数的多少从1开始排序)来连接 VNC服务器了。
6.用 VNC客户端连接服务器好了,现在已经完成了 VNC服务器的安装了。要使用 VNC连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC客户端。

阅读剩余
THE END