LNMP优化(一)

来源:互联网 发布:apache ant 使用 编辑:程序博客网 时间:2024/05/04 12:04

LNMP优化(一)

一、优化前准备工作

Centos准备及配置

准备安装包及软件:
http://pan.baidu.com/s/1chHQF 下载解压到U盘即可安装
http://pan.baidu.com/s/15TUWf 其它版本的centos 在这里

http://pan.baidu.com/s/1Dv3me SecureCRT,远程linux管理软件

1 安装完centos
2 启动SecureCRT 远程连接linux服务器

若连不上,请检查一下几项: 网络 防火墙 sshd
3 若sshd未启动,则启动sshd # /usr/sbin/sshd
若启动时出现如下错误:
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
其原因是在 SSH 连接协议中需要有 RSA 或 DSA 密钥的鉴权。 因此,我们可以在服务器端使用 ssh-keygen 程序来生成一对公钥
/私钥对
执行 # ssh-keygen -t rsa -b 1024 -f /etc/ssh/ssh_host_rsa_key 一路回车
命令执行成功后,在 /etc/ssh 下会看到有两个文件生成:ssh_host_rsa_key 和 ssh_host_rsa_key.pub ,前者是私钥,后者是公钥。

此时,启用SecureCRT远程连接linux服务器,一般会成功!

4 配置yum更新源

配置国内更新源:参考我的这篇文章
http://www.cnblogs.com/buffer/p/3426908.html
然后执行命令,更新缓存:
# yum clean metadata
# yum clean dbcache
# yum makecache

5 安装lrzsz工具
用于windows和linux间传输文件
# yum -y install lrzsz

6 配置固定ip
修改或者增加 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.1.104
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
USERCTL=no //是否允许非root用户控制该设备
BOOTPROTO=static

修改DNS配置文件: vi /etc/resolv.conf 增加
nameserver 192.168.1.1 #主DNS
nameserver 8.8.8.8 #次DNS
search localdomain

关闭NetworkManager,因为在命令行模式下,NetworkManager 和 network两个服务冲突。重启:# service network restart

7 配置vi
配置vi 作为后面的编程IDE,基本配置步骤请参考我的这篇文章:
http://www.cnblogs.com/buffer/p/3429221.html

8 安装必要的编译工具及必需的库文件
yum -y install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch cmake
总共148M左右,具体每一项的作用,大家感兴趣的可以查一查

9 配置防火墙(服务器安全优化)
安全规划:开启 80 22 端口并 打开回路(回环地址 127.0.0.1)
# iptables –P INPUT ACCEPT
# iptables –P OUTPUT ACCEPT
# iptables –P FORWARD ACCEPT
以上几步操作是为了在清除所有规则之前,通过所有请求,如果远程操作的话,防止远程链接断开。
接下来清除服务器内置规则和用户自定义规则:
# iptables –F
# iptables -X

打开ssh端口,用于远程链接用:
# iptables –A INPUT –p tcp –-dport 22 –j ACCEPT
# iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT 允许已建立的链接通过22端口向外发送数据包
然后关闭INPUT 和 FORWARD请求:
# iptables –P INPUT DROP
# iptables –P FORWARD DROP

接下来设置环路,使得 ping 127.0.0.1这样的包额可以通过。后面php会使用这个规则,
Nginx中设置php-fpm访问地址:http://127.0.0.1:9000 即用到这个规则
# iptables –A INPUT –i lo –j ACCEPT

接下来设置允许其他机器 ping 本机,也可以不允许,不允许会更加安全。
# iptables –A INPUT –p icmp –j ACCEPT

接下来开放web服务端口 80
# iptables –A INPUT –p tcp –dport 80 –j ACCEPT
# iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT 允许已建立的链接通过80端口向外发送数据包

接下来开放 53端口 用于DNS解析
# iptables -A INPUT -p udp --dport 53 -j ACCEPT
# iptables -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

最后保存设置:
# service iptables save
# service iptables restart

至此已经完成关闭除22 80之外的所有对外端口,服务器可以通过任意端口向外发请求,但是外面的请求只能通过 80和22端口进入到内部。
也可以直接下载这个脚本执行即可完成基本防火墙设置:http://pan.baidu.com/s/17qiUG
附件:
linux端口号大全 请参考我这篇文章
http://www.cnblogs.com/buffer/p/3386132.html
iptables 详解,请参考我这篇文章:
http://www.cnblogs.com/buffer/archive/2012/09/24/2700609.html

10 修改启动模式,默认命令行启动
# vi /etc/inittab
将id:5:initdefault: 改为 id:3:initdefault: 保存即可
从说明里可以看出,5 是启动桌面 x-window 3是启动命令行文本模式

以上为配置linux基础工作环境



0 0