查看端口的占用情况

Centos6/contos7(ECS) 使用

netstat

查询系统上有多少TCP 多少UDP会话

netstat -tun

  • -t: tcp
  • -u: udp
  • -a: all 表示列出所有的连接,服务监听,Socket资料
  • -n: port number 用数字的形式展示
  • -p: program显示哪个进程监听这个端口
  • -l :listening,列出当前处于监听状态的服务

contos7(Minimal) /contos7(ECS) 使用

命令 : ss

ss 尤其是在有海量并发时, 效率更高

  • -t: tcp
  • -u: udp
显示当前机器上有哪些端口提供服务
[root@139 bin]# ss -nlutp

centos7特性

操作 centos6 centos7
文件系统 ext4 xfs
修改主机名 /etc/sysconfig/network /etc/hosthome
修改时区 /etc/sysconfig/clock timedatectl set-timezone Asia/Tokyo
查看ip信息 ifconfig ifconfig/ip(阿里ECS)
查看DNS信息 /etc/resolv.conf -
查看端口状态 netsat netsat/ss

核心服务

操作 centos6 centos7
防火墙 iptables firewald
服务管理 System V init systemd
时间同步服务 ntp chrony

查看防火墙的状态

[root@大爱ECS bin]# sudo systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead) # 关闭
Docs: man:firewalld(1)

其他变化

  • centos7 默认支持docker

    • 内核支持: Overlay FS
    • Repo 源支持
    • centos7 的yum源支持一键安装docker
  • 不再支持32位操作系统
  • GNOME 3.X (桌面应用)
  • 支持40G以太网卡

文件目录

-rw-r--r--   1 root root     0 Sep 14 19:11 a2498
lrwxrwxrwx 1 root root 7 Feb 22 2019 bin -> usr/bin # 操作系统的命令
dr-xr-xr-x. 5 root root 4096 Jun 24 10:17 boot # boot loader files 基础引导文件,引导开机
drwxr-xr-x 7 root root 4096 Jun 3 14:41 CloudResetPwdUpdateAgent
drwxr-xr-x 7 root root 4096 Sep 1 22:47 CloudrResetPwdAgent
drwxr-xr-x 19 root root 3020 Sep 15 15:10 dev # 磁盘,设备文件
drwxr-xr-x. 84 root root 4096 Sep 15 15:10 etc # 存放大量的配置文件
drwxr-xr-x. 3 root root 4096 Sep 8 20:32 home # 普通用户的家目录
drwxr-xr-x 4 root root 4096 Aug 25 19:25 kong
lrwxrwxrwx 1 root root 7 Feb 22 2019 lib -> usr/lib # 系统的依赖库
lrwxrwxrwx 1 root root 9 Feb 22 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Feb 22 2019 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media # 媒体数据
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt # mount directory 挂载目录
drwxr-xr-x 3 root root 4096 Aug 25 17:32 node
drwxr-xr-x. 2 root root 4096 Sep 13 03:14 opt # optional add-on apps 原生添加的app
dr-xr-xr-x 85 root root 0 Sep 15 15:10 proc # process infornation 进程的信息 如top提取的数据就来自这个目录
dr-xr-x---. 8 root root 4096 Sep 15 15:06 root # 管理员的家目录
drwxr-xr-x 25 root root 740 Sep 15 15:10 run
lrwxrwxrwx 1 root root 8 Feb 22 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv # Service Data 服务数据
dr-xr-xr-x 13 root root 0 Sep 15 15:10 sys
drwxrwxrwt. 13 root root 4096 Sep 15 15:13 tmp # 临时文件
drwxr-xr-x. 13 root root 4096 Feb 22 2019 usr # 用户安装的软件
drwxr-xr-x. 19 root root 4096 Sep 15 15:10 var # 可变的文件,如日志文件/帮助文档
centos6 centos7
bin bin->usr/bin
sbin sbin->user/sbin
lib lib->usr/lib
lib64 lib64->usr/lib
- run

centos7 多出来了一个run目录.这个目录类似tmp目录,都用来存放临时文件, 但是不同的是它存放的正在运行的服务需要的临时文件

修改时区

centos6

就是拷贝一份文件到 /etc/localtime中

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

centos7

命令: timedatectl

[root@大爱ECS /]# timedatectl
Local time: Sun 2019-09-15 15:40:34 CST # 本地时间
Universal time: Sun 2019-09-15 07:40:34 UTC # 世界时间
RTC time: Sun 2019-09-15 07:40:33 # 主板时间
Time zone: Asia/Shanghai (CST, +0800) # +0800 东八区
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no # 本地主板时间是否和当前时间保持一致
DST active: n/a

设置本地时间

timedatectl set-timezone Asia/Tokyo

设置主板时间

timedatectl set-local-rtc 1
1 : 表示将硬件的时间调整为和本地时间一致

网卡接口命名

centos6

一般命名为:

eth0  eth1  eth2
em0 em1 em2
em* 类型的网卡是针对戴尔而设计

centos7

默认是基于固件,拓扑,位置信息来分配,但是更加灵活可预知,但是更加难读

强大的参数自动补全

[root@大爱ECS /]# yum install bash-completion

重新登录生效

systemd 服务管理

格式:

systemctl [options] conmand [name]

支持服务的并行启动,缩短开机时间

Systemd系统的服务管理

--- centos6 centos7
服务管理 service systemctl
启动项管理(开机启动) chkconfig systemctl
系统启动级别 init systemctl
定时任务 cron timer
日志管理 syslog Systemd-journal

还可以 设置环境变量,系统挂载,远程主机管理


systemd 可以管理各种各样的服务,为了区分,他给每个不同的服务取了不同的后缀名

[root@139 ~]# systemctl -t help
Available unit types:
service
socket
busname
target
snapshot
device
mount
automount
swap
timer
path
slice
scope
文件扩展名 作用 文件扩展名 作用
.service 用于定义系统服务 .snapshot 管理系统快照
.target 模拟实现运行级别 .swap Swap设备
.device 定义内核识别设备 .automount 自动挂载点
.mount 文件系统挂载点 .path 监控文件/目录
.socket 进程间通信使用socket文件 .scope 外部线程
.timer 定时器 .slice 分层次管理系统进程
  • 如果没有扩展名,默认扩展名 .service

Systemd 基本命令

基础命令 作用
systemctl, systemctl list-units 查看已经激活的单元
systemctl --failed 查看运行失败的单元
systemctl list-unit-files 查看所有可用的单元,以及是否开机启动
systemctl help 查看单元的帮助手册页
systemctl daemon-reload 重新载入 systemd
systemctl start <单元> 激活单元
systemctl stop <单元> 停止单元
systemctl restart <单元> 重启单元
systemctl status <单元> 输出单元运行状态
systemctl is-enable <单元>检测单元是否自动启动
systemctl enable <单元> 开机启动单元
systemctl enable --now <单元> 设置单元开机启动并且立即启动
systemctl disable <单元> 取消开机自动启动
systemctl mask <单元> 禁用一个单元
systemctl unmask <单元> 取消禁用某个单元

Systemd系统启动级别设置

centos6

查看系统的启动级别

[root@139 ~]# ll /etc/rc.d
total 36
drwxr-xr-x. 2 root root 4096 Sep 14 18:34 init.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc0.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc1.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc2.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc3.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc4.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc5.d
drwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc6.d
-rw-r--r-- 1 root root 473 Apr 26 01:19 rc.local

进入每一个rcX, 都能看到在这个启动级别下,启动的服务列表

[root@139 ~]# cd /etc/rc.d/rc3.d
[root@139 rc3.d]# ll
total 0
lrwxrwxrwx. 1 root root 20 Feb 22 2019 K50netconsole -> ../init.d/netconsole
lrwxrwxrwx. 1 root root 17 Feb 22 2019 K90network -> ../init.d/network
lrwxrwxrwx 1 root root 28 Jun 3 14:41 S20cloudResetPwdAgent -> ../init.d/cloudResetPwdAgent
lrwxrwxrwx 1 root root 34 Jun 3 14:41 S20cloudResetPwdUpdateAgent -> ../init.d/cloudResetPwdUpdateAgent
lrwxrwxrwx 1 root root 24 Feb 22 2019 S50multi-queue-hw -> ../init.d/multi-queue-hw
lrwxrwxrwx 1 root root 19 Feb 22 2019 S98denyhosts -> ../init.d/denyhosts

在centos6中查询所在的启动模式

runlevel

进入指定的模式

init 模式表示号数
--- SysVint Systemd
关闭系统 0 runlevel0.target , poweroff.terget
单用户模式 1,s,single runlevel1.target , rescue.terget (rescue急救模式)
多用户模式 2 runlevel2.target , multi-user.target
多用户带网络模式 3 runlevel3.target , multi-user.target
多用户, 网络模式,图像化 5 runlevel5.target , graphical.terget
重启 6 runlevel6.target , reboot.terget

centos7

查看当前系统所在的启动级别

[root@139 rc3.d]# systemctl get-default
multi-user.target

改变启动级别慎用 , 需要reboot才能生效

[root@139 rc3.d]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
它是创建了一个连接
  • 永久性的修改默认的启动级别
修改这个配置文件  /etc/inittab

防火墙 firewalld

  • 在centos7中 firewadlld和iptables共存
  • firewalld 底层调用的iotables

firewalld使用区域管理

centos7上的9个区域

[root@139 rc3.d]# ls /usr/lib/firewalld/zones/
block.xml # (阻塞区域)任何传入网络的数据包都将被阻止
dmz.xml # (隔离区域) 直选择接受传入的网络链接
drop.xml # (丢弃区域) 任何传入网络的连接都被拒绝
external.xml # (外部区域) 不相信网络上的其他计算机不会损伤你的计算机,只选择接受传入网络连接
home.xml # (家庭区域) 相信网络上的其他计算机不会损伤你的计算机
internal.xml # (内部区域) 相信网络上的其他计算机,不会损伤你的计算机,只选择接受传入的网络连接
public.xml # (公共区域)不相信网络上的任何计算机,只根据配置选择接受网络连接
trusted.xml (信任区域) 所有的网络连接都可以接受
work.xml # (工作区域) 相信网络上的其他计算机不会损伤你的计算机

家庭网络模式,相信网络上的计算机,安全系数低

[root@139 zones]# cat home.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Home</short>
<description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="mdns"/>
<service name="samba-client"/>
<service name="dhcpv6-client"/>
</zone>

默认使用的 public.xml 在公共网络上使用,不相信网络上的任意一个计算机器

  • 启动防火墙
[root@139 zones]# systemctl start firewalld.service
  • 查看
[root@139 zones]# [root@139 zones]# systemctl start firewalld.service
-bash: [root@139: command not found
[root@139 zones]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-09-15 17:07:43 CST; 22s ago
Docs: man:firewalld(1)
Main PID: 4461 (firewalld)
CGroup: /system.slice/firewalld.service
└─4461 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Sep 15 17:07:42 139.9.92.235 systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 15 17:07:43 139.9.92.235 systemd[1]: Started firewalld - dynamic firewall daemon.
  • 查看防火墙使用的默认区域 -- public (active)
[root@139 zones]# firewall-cmd  --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources: # 控制访问我的源ip的限制
services: dhcpv6-client ssh # 本机哪些服务对外开放, 仅这两个服务提供外部访问
ports: # 对外提供的端口
protocols: # 对外开放的协议
masquerade: no
forward-ports: # 目的端口的转发
source-ports: # 源 端口的转发
icmp-blocks: #
rich rules:# 更高级配置,如只允许某一个ip访问
  • 更改默认区域
[root@139 zones]# firewall-cmd --set-default-zone=home
success 再次查看
[root@139 zones]# firewall-cmd --list-all
home (active)
target: default

firewalld中的区域与接口

  • 一个网卡的接口,只能属于一个zone, 不能同属于多个zone

  • 1个zone 可以有多个网卡接口

  • 任何配置了一个网卡接口的区域,都是活跃区域

  • 查看本机的网卡接口

[root@139 zones]# ip a
# 本地回环网卡
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:d6:74:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.32/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
valid_lft 81533sec preferred_lft 81533sec
inet6 fe80::f816:3eff:fed6:7491/64 scope link
valid_lft forever preferred_lft forever
  • 查看网卡接口现在属于哪个区域
[root@139 zones]# firewall-cmd --get-active-zones
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

可以看到,eth0 ,现在属于 默认的public区域

  • 将网卡接口转移到其他区域
[root@139 zones]# firewall-cmd --zone=home --change-interface=eth0
The interface is under control of NetworkManager, setting zone to 'home'.
success 再次查看现在活跃的区域,发现home替换了pulic,因为,配置了网卡接口的区域肯定是活跃的区域
[root@139 zones]# firewall-cmd --get-active-zones
home
interfaces: eth0

firewalld防火墙的端口配置规则及添加白名单

默认情况下,打开防火墙后从服务器往外随意发送数据, 但是任何进入服务器方向的数据都会被墙掉

其实开放了这个端口,就等于让占用这个端口的服务对外提供服务

接下来设置白名单:

  • 配置指定服务对外提供服务
  • 配置指定端口对外开放
  • 配置指定ip访问机器
[root@139 bin]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh # 配置了 dhcpv6-client, 及ssh(允许远程登录)
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
  • 添加对外提供服务的端口号
# 查看机器上对外提供服务的端口, 最下面9998端口是服务器上对外提供服务应用程序
# 默认情况下,通过浏览器是访问不到它的,会被墙掉,需要把这个端口添加到白名单才能访问 [root@139 bin]# ss -nlutp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:68 *:* users:(("dhclient",pid=3790,fd=6))
udp UNCONN 0 0 192.168.0.32:123 *:* users:(("ntpd",pid=3718,fd=21))
udp UNCONN 0 0 127.0.0.1:123 *:* users:(("ntpd",pid=3718,fd=18))
udp UNCONN 0 0 *:123 *:* users:(("ntpd",pid=3718,fd=16))
udp UNCONN 0 0 fe80::f816:3eff:fed6:7491%eth0:123 :::* users:(("ntpd",pid=3718,fd=22))
udp UNCONN 0 0 ::1:123 :::* users:(("ntpd",pid=3718,fd=19))
udp UNCONN 0 0 :::123 :::* users:(("ntpd",pid=3718,fd=17))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=4185,fd=3))
tcp LISTEN 0 50 :::9998 :::* users:(("java",pid=4939,fd=203))
tcp LISTEN 0 1024 :::9999 :::* users:(("java",pid=4939,fd=202))
tcp LISTEN 0 50 :::7473 :::* users:(("java",pid=4939,fd=208))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=4185,fd=4)) # 为public域添加允许对外提供的端口
[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcp
success # 再次查看
[root@139 bin]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 9998/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: # 不需要重启服务,
  • 移除白名单中的端口
[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号

通过这种方式添加的配置,是临时的,重启服务后,配置会消失

  • 永久生效
[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcp --permanent    (permanent永久的)
[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号 --permanent

firewalld防火墙的配置规则及添加服务白名单

如果服务器上的应用程序是以服务的形式存在的, 想让他对它提供服务,仅仅需要将它添加到服务的白名单就行

其实服务的白名单规则,和上面的直接开放端口是一样的, 只不过把端口包装成服务更容易让人理解

查看系统上服务的xml配置文件

[root@139 zones]# ls  /usr/lib/firewalld/services/
amanda-client.xml elasticsearch.xml jenkins.xml mysql.xml puppetmaster.xml syncthing-gui.xml
amanda-k5-client.xml freeipa-ldaps.xml kadmin.xml nfs3.xml quassel.xml syncthing.xml
bacula-client.xml freeipa-ldap.xml kerberos.xml nfs.xml radius.xml synergy.xml
bacula.xml freeipa-replication.xml kibana.xml nmea-0183.xml redis.xml syslog-tls.xml
bgp.xml freeipa-trust.xml klogin.xml nrpe.xml RH-Satellite-6.xml syslog.xml
bitcoin-rpc.xml ftp.xml kpasswd.xml ntp.xml rpc-bind.xml telnet.xml
bitcoin-testnet-rpc.xml ganglia-client.xml kprop.xml openvpn.xml rsh.xml tftp-client.xml
bitcoin-testnet.xml ganglia-master.xml kshell.xml ovirt-imageio.xml rsyncd.xml tftp.xml
bitcoin.xml git.xml ldaps.xml ovirt-storageconsole.xml samba-client.xml tinc.xml
ceph-mon.xml gre.xml ldap.xml ovirt-vmconsole.xml samba.xml tor-socks.xml
ceph.xml high-availability.xml libvirt-tls.xml pmcd.xml sane.xml transmission-client.xml
cfengine.xml https.xml libvirt.xml pmproxy.xml sips.xml upnp-client.xml
condor-collector.xml http.xml managesieve.xml pmwebapis.xml sip.xml vdsm.xml
ctdb.xml imaps.xml mdns.xml pmwebapi.xml smtp-submission.xml vnc-server.xml
dhcpv6-client.xml imap.xml minidlna.xml pop3s.xml smtps.xml wbem-https.xml
dhcpv6.xml ipp-client.xml mongodb.xml pop3.xml smtp.xml xmpp-bosh.xml
dhcp.xml ipp.xml mosh.xml postgresql.xml snmptrap.xml xmpp-client.xml
dns.xml ipsec.xml mountd.xml privoxy.xml snmp.xml xmpp-local.xml
docker-registry.xml ircs.xml mssql.xml proxy-dhcp.xml spideroak-lansync.xml xmpp-server.xml
docker-swarm.xml irc.xml ms-wbt.xml ptp.xml squid.xml zabbix-agent.xml
dropbox-lansync.xml iscsi-target.xml murmur.xml pulseaudio.xml ssh.xml zabbix-server.xml

随便找一个打开

[root@139 services]# cat ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>

其实可以看到,服务中有一个配置添加的就是端口的信息, 把服务添加到白名单 == 把服务占用的端口添加到白名单

  • 添加服务到白名单
把http服务添加到白名单中, 开放80端口!!!
[root@139 services]# firewall-cmd --zone=public --add-service=http
  • 移除服务
[root@139 services]# firewall-cmd --zone=public --remove-service=http

同样想持久话,添加 -permanent

ip白名单

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"

success

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"

success

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9300" accept"

success

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9998" accept"

success

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="localhost" port protocol="tcp" port="9998" accept"

Error: INVALID_ADDR: localhost

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="9998" accept"

success  

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --reload 

success

[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --list-all

拓展 centos 7的更多相关文章

  1. 环境篇:Docker

    环境篇:Docker www.docker.com Docker 是什么? Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache协议的开源,让开发者可以打包他们的应用以及依赖包到一个 ...

  2. centos 安装php7、pecl 、swoole、redis拓展

    一.更新yum源,安装php7 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...

  3. 升级到php7和安装拓展(mac centos)

    Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...

  4. centos 7 安装 redis 及 php-redis 拓展

    ===============redis 安装========================== 直接yum 安装的redis 不是最新版本 yum install redis 如果要安装最新的re ...

  5. Centos memcached的php拓展 管理界面

    确定已安装apache 一.安装php5 1.安装libxml2 tar zxvf libxml2-.tar.gz cd libxml2- ./configure --prefix=/usr/loca ...

  6. 【CentOS】Linux日常管理

    /////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...

  7. 【CentOS】安装RPM包或者源码包

    一.rpm  (是Redheat Package Manager的简称) 如果光驱中还有系统安装盘的话, 1.先挂载光驱, mount /dev/cdrom /mnt/ 2.cd /mnt/ 3.cd ...

  8. 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展

    上一篇:搭建LNAMP环境(四)- 源码安装PHP7 一.安装Redis 1.创建redis用户组和用户 groupadd redis useradd -r -g redis -s /sbin/nol ...

  9. 话说Centos下nginx,php,mysql以及phpmyadmin的配置

    大话centos下部署phalcon框架 Centos还是ubuntu? 当我沿用这个标题的时候,心里在想"我能说我之前用的windows吗?",windows下xampp,wam ...

随机推荐

  1. hospital:广西大学生计算机设计大赛

    html 当时做到的就是这些了 <!DOCTYPE html><html lang="en"><head> <title>病人信息查 ...

  2. js中的Object.assign接受两个函数为参数的时候会发生什么?

    缘由 今天看到一段代码 return Object.assign(func1, func2); 心生疑惑,为什么 Object.assign 的参数可以是函数? 于是有了下面这一堆东西,其实都是老生常 ...

  3. 人人学IoT 助学思维导图

    原来学IoT记录的学习笔记,学完之后,对考试和工作都有些帮助,特分享给大家 笔记分享链接 https://share.mindmanager.com/#publish/s6TqusKeSG6aflXL ...

  4. 使用Cocoapods创建私有podspec

    Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...

  5. Java中的等待唤醒机制—至少50%的工程师还没掌握!

    这是一篇走心的填坑笔记,自学Java的几年总是在不断学习新的技术,一路走来发现自己踩坑无数,而填上的坑却屈指可数.突然发现,有时候真的不是几年工作经验的问题,有些东西即使工作十年,没有用心去学习过也不 ...

  6. BZOJ1014 火星人的prefix

    火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字 ...

  7. CSUOJ1811 Tree Intersection (启发式合并)

    Bobo has a tree with n vertices numbered by 1,2,…,n and (n-1) edges. The i-th vertex has color c i, ...

  8. CodeForces-1006B-Polycarp's Practice

    B. Polycarp's Practice time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  9. rapidjson 使用

    生成数组集合的字符串 #include <stdio.h> #include <string> #include <iostream> #include " ...

  10. Java并发:线程限制

    最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想,也和大家分享.了解有关Java中的并发问题和线程限制的更多信息. 在此文中,我们将探讨线程限制,它的含义以及如何实现.因此 ...