设为首页 收藏本站
查看: 972|回复: 0

CentOS LNMP 服务器安装配置详解

[复制链接]

尚未签到

发表于 2015-8-21 10:04:17 | 显示全部楼层 |阅读模式
  LAMP(Linux + Apache + MySQL + PHP)长期以来一直是搭建网站的经济实用之选。但随着 Igor Sysoev 开发的 Nginx 服务器渐渐火热起来,LNMP(Linux + Nginx + MySQL + PHP)成为了一个新的选择。
  Nginx 服务器比 Apache 服务器更小,运行时消耗资源也少一些,并发性能更高。另外,其配置文件也比 Apache 更简明易懂。不过,目前它的中文文档还不太完整,也不够新,比起 Apache 的文档来说还有些简陋,所以对于像我这种英文不熟的人来说读起来未免困难。不过,如果熟悉 Apache,上手应该也不会很困难。
  在本文中,我将以亲身实践的经历,讲一讲从安装 CentOS 6 开始的 LNMP 服务器配置全过程。
  
  VPS 用户可以跳过系统安装和初始配置步骤。
  安装 CentOS 6
  为了节省资源,我选择了 CentOS 6 Minimal 64 位版,刻光盘或通过 U 盘安装。
  下载 CentOS 6 Minimal 64 位版 或 选择其他镜像站
  具体安装过程不再详述,只需注意安装语言选择英语,时区选择“Asia/Chongqing”或“Asia/Shanghai”,并注意为 root 设置强密码即可。另外,在虚拟机上安装时,最好将网络连接设置为桥接方式(Bridged Adapter)。
  连接网络
  刚安装好的 CentOS 还没有正确连接到网络,我们需要进行设置。一般来说,在服务器上都不使用 DHCP 服务,故以下为例:

IP:       192.168.1.253
Netmask:  255.255.255.0
Gateway:  192.168.1.1
DNS:      61.139.2.69 218.6.200.139
Hostname: www.mysite.com
  设置 IP 地址等,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE="eth0"
HWADDR="08:00:27:E8:5E:86"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=none
IPADDR=192.168.1.253
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
  这里需要注意的有:NM_CONTROLLED 设为 no 以拒绝其他网管软件的管理,ONBOOT 设为 yes 以开机启动,BOOTPROTO 设为 none 以禁用 DHCP。
  设置 DNS 服务器,编辑 /etc/resolv.conf:

nameserver 61.139.2.69
nameserver 218.6.200.139
  设置主机名称,编辑 /etc/sysconfig/network,:

NETWORKING=yes
HOSTNAME=www.mysite.com
  编辑 /etc/hosts,在此文件下方添加一行:

192.168.1.253    www.mysite.com
  最后,执行命令 service network restart 重启网络连接。
  另外,新安装的 CentOS 默认防火墙没有开放 80 端口。请编辑 /etc/sysconfig/iptables,加入以下行,然后执行命令 service iptables restart 重启防火墙:

-A INPUT -p tcp --dport 80 -j ACCEPT
  安装必备软件包和设置自动校时
  执行以下命令安装必备软件包:

yum -y install wget vim sudo screen crontabs ntpdate
  设置每早 6:00 对时,编辑计划任务文件 /etc/crontab,添加一行,:

0 6 * * * root /usr/sbin/ntpdate 210.72.145.44 time.nist.gov > /dev/null
  Update(11/06/2012): 在命令的最后加上 > /dev/null 可以隐藏命令输出的信息(但不包括错误信息),这可以让你不会在每次对时后都收到一封邮件,而一旦出现错误时你仍可知晓。如果添加 &> /dev/null 则会隐藏所有输出,包括错误信息。
  最后,执行命令 service crond start 启动计划任务。
  配置 SSH
  要进行远程管理,需要配置 SSH。为了提高安全性,我们需要更改 SSH 服务的默认端口,并另行建立新的账户,并禁止 root 远程登录。
  如果使用的是 VPS 或独立主机,只能通过 SSH 远程操作时,进行此步时一定要多加小心。更改端口或禁用 root 时,一定要先测试以新的端口和账户能否顺利登录,才能去掉原来的默认端口并禁用 root。这能避免意外情况导致无法再登录服务器。
  首先,建立一个新用户,并设置密码:

useradd -G wheel mysiteadmin
passwd mysiteadmin
  然后,授予 sudo 权限,用 visudo 命令编辑 /etc/sudoers,添加 mysiteadmin 一行:

## Allow root to run any commands anywhere
root           ALL=(ALL)     ALL
mysiteadmin    ALL=(ALL)     NOPASSWD:ALL
  CentOS 6 Minimal 默认已经安装了 SSH,如果没有安装,请执行 yum install openssh-server。
  编辑 SSH 配置文件 /etc/ssh/sshd_config,将原来的“# Port 22”改为以下两行,将 4671 改为你想要的端口号,注意不要与现有软件使用的端口相冲突:

Port 22
Port 4671
  然后在此文件中搜索“PermitRootLogin yes”,改为“PermitRootLogin no”。
  接着在防火墙上开放新的 SSH 端口,编辑 /etc/sysconfig/iptables,加入如下一行,然后执行命令 service iptables restart 重启防火墙:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4671 -j ACCEPT
  最后用新的账户和端口登录服务器,测试无问题后,去掉 SSH 配置文件和 iptables 规则中的 22 端口。
  至此,系统的安装和初始配置已告完成。可以开始安装 Nginx + MySQL + PHP 了。
  安装 LNMP
  首先感谢军哥(Licess)制作的原版 LNMP 一键安装包。
  你可以根据自己的喜好,选择我修改过的定制版 LNMP 一键安装包(lnmp0.7-james-20121206.7z),也可以选择 LNMP.org 提供的原版安装包。
  下载 LNMP 一键安装包定制版 或 下载 LNMP.org 原版
  我修改过的定制版本与原版有以下不同:


  • 更新 Nginx 1.2.4,原版为 0.8
  • 更新 MySQL 5.5.27,原版为 5.1
  • 更新 PHP 5.4.9,原版为 5.2
  • 由于 PHP 5.4 已包含 PHP-FPM 及 PDO-MySQL,故去掉原版中的安装步骤
  • 优化 Nginx 配置文件,便于设置域名是否使用 www 前缀、URL Rewrite、上传目录安全防护等
  安装过程比较漫长,故安装前请用 screen -S lnmp 创建新会话,一旦出现网络不稳定导致 SSH 断线等情况,只需用 screen -r lnmp 命令返回会话即可,不会造成安装过程中断。安装完成后,用 exit 命令退出会话。如果系统没有安装 screen,请执行 yum install screen 命令。
  将下载到的 LNMP 安装包通过 WinSCP、FTP 等直接上传到服务器的 /home 目录下。如果使用原版安装包,则可以直接通过 wget 命令直接下载到服务器上。下载好后,便可以开始解压安装了:

7z e lnmp0.7-james-20121206.7z
cd lnmp0.7-james
./sh centos.sh | tee lnmp.log (Debian、Ubuntu 系统则相应选择 debian.sh 和 ubuntu.sh)
  然后,根据提示输入域名和 MySQL root 密码,提示“Press any key to start…”后按任意键开始安装。
  根据服务器配置及网络连接速度不同,安装过程可能会持续 30-60 分钟不等。
  安装完成后,可以试试能否访问。用 /root/lnmp {start|stop|reload|restart|kill|status} 即可控制 LNMP 的运行。
  要安装 ionCube、eAccelerator、Pure-FTPd、VSFTPd 等,可以参见 LNMP.org 的安装说明。
  延伸阅读:
详细了解 Linux 的网络连接设置:鸟哥的 Linux 私房菜 – 连上 Internet
详细了解 Linux 计划任务:鸟哥的 Linux 私房菜 – 例行性工作排程 (crontab)
设置更安全的 SSH 登录:设置 SSH 通过密钥登录
了解 PHP 上传相关设置:PHP 上传文件故障排除
了解为 LNMP 配置添加版本控制:用 Subversion 管理网站程序

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-102023-1-1.html 上篇帖子: LNMP安装了哪些软件?安装目录在哪? 下篇帖子: LNMP的的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表