戊辰人博客

青,取之于蓝而青于蓝;冰,水为之而寒于水。

CentOS 7下安装LNMP服务器

日期:2015年8月7日 作者: 分类:运维 阅读:1,508

LNMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用。正如其名称所暗示的, LNMP 包是由 Linux、nginx、MariaDB/MySQL 和 PHP 组成的。在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案。 MariaDB 是一款社区支持驱动的 MySQL 数据库的分支,其功能更多性能更佳。PHP,服务端编程语言,具体是由 PHP FastCGI 的增强版 PHP-FPM 组件来处理,生成网页动态内容。

这篇文章里,我将示范如何在 CentOS 操作平台上安装 LNMP 包。我的安装的目标是 CentOS 7 这个操作平台。

第一步: Nginx

1. 安装 Nginx

因为在CentOS 7的默认源中没有 Nginx ,所以我们要导入Nginx官方源,官方文档原文链接:http://nginx.org/en/linux_packages.html

创建/etc/yum.repo.d/nginx.repo 文件,内容如下:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安装:

yum install nginx 

2. 启动 Nginx

安装完成后,nginx 是不会自动启动的。现在让我们来启动它吧,还要做些配置让其可以随着操作系统启动而启动。我们也需要在防火墙里打开 TCP/80 端口,以使得可以远程访问 nginx 的 web 服务。所有这些操作、设置都只需要输入如下命令就可实现。

# 启动
systemctl start nginx

# 加入开机启动
systemctl enable nginx

# 开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 载入防火墙规则,使刚才的规则生效
firewall-cmd --reload

阅读全文…

CentOS 6.x下防火墙设置

日期:2015年6月3日 作者: 分类:运维 阅读:868

1351425420-0

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。

下面是一段在CentOS 6.x下iptables的初始化设置脚本:

#!/bin/bash

# 打开有状态检测的端口,如22
function open_state_port() {
    PORT=$1
    PROTOCOL=$2
    iptables -A INPUT -p $PROTOCOL --dport $PORT -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --sport $PORT -m state --state ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --dport $PORT -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -A INPUT -p $PROTOCOL --sport $PORT -m state --state ESTABLISHED -j ACCEPT
}

# 打开普通的端口
function open_normal_port() {
    PORT=$1
    PROTOCOL=$2
    iptables -A INPUT -p $PROTOCOL --dport $PORT -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --sport $PORT -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --dport $PORT -j ACCEPT
    iptables -A INPUT -p $PROTOCOL --sport $PORT -j ACCEPT
}

# 1. 清除所有规则
iptables -F
iptables -X

# 2. 允许本地回环地址通过防火墙
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT

# 3. 允许ping打开
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# 4. SSH访问控制打开
open_state_port 22 tcp
open_state_port 80 tcp

# 5. 配置默认策略为DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# 6. DNS解析开放
open_normal_port 53 udp

# 7. MySQL端口开放
open_normal_port 3306 tcp

# 8. 防DoS攻击
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

阅读全文…

关闭端口步骤(CentOS/RHEL 6)

日期:2015年1月14日 作者: 分类:运维 阅读:405

试验环境:CentOS 6

1.找到相应端口的程序

    命令:netstat -tnlp | grep 111

    结果:tcp 0 0 :::111 :::* LISTEN 990/rpcbind

2. 找到程序安装在哪里

    命令:which rpcbind

    结果:/sbin/rpcbind

3. 找到软件包

    命令:rpm -qf /sbin/rpcbind

    结果:rpcbind-0.2.0-11.el6.x86_64

4. 找到可能关闭的方法

    命令:rpm -qc rpcbind | grep init

    结果:/etc/rc.d/init.d/rpcbind

5. 立即关闭

    命令:/etc/init.d/rpcbind stop

systemctl命令用法

日期:2015年1月9日 作者: 分类:运维 阅读:387

CentOS 7中用systemctl代替了sysinit,虽然开源社区对此相当排斥,但作为运维人员不得不去了解。

命令对比表,以 apache / httpd 为例:

任务 旧指令 新指令
使某服务自动启动 chkconfig –level 3 httpd on systemctl enable httpd.service
使某服务不自动启动 chkconfig –level 3 httpd off systemctl disable httpd.service
检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)
显示所有已启动的服务 chkconfig –list systemctl list-units –type=service
启动某服务 service httpd start systemctl start httpd.service
停止某服务 service httpd stop systemctl stop httpd.service
重启某服务 service httpd restart systemctl restart httpd.service

 

一句话问答(CentOS/RHEL)

日期:2015年1月5日 作者: 分类:运维 阅读:443

1. 如何获取CPU核心数量

grep -c ^processor /proc/cpuinfo

 

2. 如何踢出在线用户

先输入w命令,查看用户登录使用的终端,再执行如下命令

pkill -kill -t pts/0

 

3. 查看命令所在的软件包

yum provides */snmpwalk

 

4. CentOS使用yum update时不更新内核

A.修改yum配置文件 vi /etc/yum.conf,在[main]的最后添加exclude=kernel*

B.在yum命令后加上参数:yum –exclude=kernel* update

阅读全文…