在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更高的并发性,系统资源利用率更高,在市场上的占有率也逐步提升,在Netcraft网站上看到的数据,在1995年到2015年间,每种服务器的使用趋势:

  

  可以看到,Apache依然是最受欢迎的Web服务器,Nginx属于后起之秀,很快占有市场。Nginx的几大特点如下:

  1. 对静态资源的高速并发缓存和访问

  2. 可作为反向代理或负载均衡服务器

  3. 缓存服务器和邮件服务代理

  4. 资源消耗更小

  5. ......

  LNMP也在逐步走进各个互联网公司的使用场景,因此,LNMP平台搭建系列就介绍一下LNMP的搭建,本篇为Linux系统安装篇。


  Linux系统的由来、发展之类的文章,网上、书上很多,这里就忽略了,直接开始操刀安装Linux系统吧~

  1. 系统选择:

    目前服务器端使用较多的操作系统为CentOS版本的Linux系统,且6.5版本居多,因为我之前一直使用的7.0版本64位的,也在编译安装各种软件踩了不少坑,就用CentOS7.0_x86_64位的吧,都大同小异,只是在权限配置文件路径方面有点差异,都可以使用,并且7.0版本也发布几年了,可以在新的项目引入,获取在老项目逐步引入,毕竟,稳重为大。

  2. 安装:

    安装有虚拟机方式和实际电脑方式,这里为了方便截图什么的,就使用VMWare虚拟机吧,新建虚拟机这些步骤按照提示来就行了,不难,设置好CPU、内存、硬盘大小和网络连接方式就可以了。

    新建完虚拟机后,打开虚拟机的光驱,使用加载ios文件方式来安装,如下:

    

    然后启动虚拟机:

    如果出现这个错误,升级VMWare即可:

    

    启动后出现界面如下,选择“Install CentOS 7”:

      

    选择安装过程的语言,这里使用默认的英文即可:

    

    点击“Continue”进入下一步:

    

  在这里设置一下时区:Asia/Shanghai,语言自己选择,这里默认就英文了,因为是服务器安装,这里选择最小原则,使用最简版本安装,这样安装的软件也少,开启的服务也少,这样服务器会更安全,后面使用需要什么软件我们再进行安装配置就可以了。

  然后,选择"Installation Destination"进入系统分区界面,默认会自动分区,这里选择手动分区的方式,如下:

  

点击"Done"就会进入分区界面:

  在分区模式那里现在默认选择“LVM”模式,它是Linux环境下对磁盘分区的一种管理方式,普通的磁盘分区管理方式在划分分区后就无法调整其大小,如果某个分区空间耗尽后,就需要使用符号链接到其他分区或使用分区工具调整,但是这样很麻烦,而LVM可以在无需停机情况很方便地对分区大小进行调整,这里暂时选择标准的分区模式。

  点击"+",弹出一个框进行新分区分配选择:

  

这里使用的分区方案如下(硬盘20GB):

  1. 引导分区: /boot: 250MB

  2. 交换分区:swap (注意,这个是没有挂载点的) : 物理内存的1.5倍,这里是3GB

  3. 根分区:   / : 剩余空间大小

  对于数据库服务器,加多一个分区,如/data分区会好一些,备份数据和扩展也方便。

 分区后显示如下:

  

  点击"Done"后出现如下界面:

  

  点击“Accept Changes”应用分区后返回如下界面:

  

  点击“Begin Installation”即可开始安装,如下:

  

  在安装过程中,我们需要设置一下超级管理员的账户密码和新建一个用户并设置其密码。安装完成后出现如下界面,点击“Reboot”即可:

  

  重启完成后,进入如下登录页面,因为使用的是最小安装模式,因此并没有安装图像用户界面:

  

  我们输入刚刚安装过程中新建的用户名和密码进行登录:

  

  我们查看一下它的IP地址,使用命令ifconfig:

  

  出现这个提示,我们安装一下网络工具即可 "sudo yum install -y net-tools",安装过程如下:

  

  安装完后,在查看ip就可以看到了:

  

  到这里,Linux系统的安装就完成了,后面再根据需要进行一个安全运维配置即可,如:

  1. 系统命令备份,建议在首次安装完后马上做,这样后面在监测系统出现内核感染时运行命令时使用的是安全的没被黑客修改过的命令

  2. 安装一些系统监控工具,如htop,ntopng等,可很好查看系统运行状态

  3. 关闭不必要的服务和端口,只保留需要对外开放的端口

  4. 修改ssh远程登录窗口,如果必要,使用公钥/私钥方式登录,可以防止密码保留破解。

  5. ......

  下一篇,将会介绍如何搭建基于Nginx的Web服务器。

LNMP平台搭建---Linux系统安装篇的更多相关文章

  1. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  2. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  3. LNMP平台搭建---PHP安装篇

    在前面三篇中,我们安装了Linux系统.Web服务器Nginx.MySQL数据库服务器,这篇就来将搭建动态网站的最后一步:PHP安装. Nginx服务器只能响应静态资源请求,对于动态资源请求就不行了, ...

  4. Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)

    一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换 ...

  5. 轻松学习Linux系统安装篇之fdisk命令行工具的使用

    fdisk 的介绍:          fdisk 命令是磁盘分区表操作工具:和以前Dos和windows下的分区工具功能一样:fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统 ...

  6. LNMP平台搭建之一:nginx编译安装

    参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...

  7. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  8. lnmp平台菜鸟入门级笔记

                  LNMP平台搭建 Mysql安装  MySQL安装 回复收藏  分享    1 下载MySQL数据库l到/usr/local/src/[root@xin tmp]# cd ...

  9. LNMP环境搭建

    LNMP环境搭建 Linux + Nginx + MySQL + PHP PHP是一种脚本语言,当前中国乃至世界上使用PHP语言开发的网站非常普遍 Nginx是一个web服务软件,和apache是一类 ...

随机推荐

  1. DAY2 raw_input() 与 input() Python

    使用input和raw_input都可以读取控制台的输入,input()只能接受int,float或由它们组成的表达式: Python 2.7.5 (default, Mar 19 2014, 07: ...

  2. 学习ios(必看经典)牛人40天精通iOS开发的学习方法

    学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲 ...

  3. win7平台下React-Native Android:Unable to upload some APKs

    一.问题描述 根据网络上的Win7平台下React-native配置教程配置好开发环境的过程中,在艰难进行到react-native run-android这一步时,发现一直出现错误,截图如下: 错误 ...

  4. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...

  5. css弹性布局

    1.弹性布局是什么 在移动端一种方便的布局方式,打破了之前用浮动,定位的布局,更加灵活. 2.弹性布局的格式 包含父元素和子元素,有对应的属性应用在父元素和子元素达到布局的目的 3.父元素的属性 要开 ...

  6. json_decode()和json_encode()的使用方法

    json_decode对JSON格式的字符串进行编码 json_encode对变量进行 JSON 编码 JS中对JSON的解析 一.JSON字符串转换为JSON对象     要运用上面的str1,必须 ...

  7. Eclipse中项目红叉但找不到错误解决方法

    首先windows-show view-problems 根据地址查找错误 若提示: Description    Resource    Path    Location    TypeJava c ...

  8. PyQt4多线程定时刷新控件

    1.通过事件关联和线程关联的方法刷新控件 self.listview=updatelistview()self.listview.updateText.connect(self.viewlist)   ...

  9. tornado RequestHandler request.body & request.arguments

    request.body , 请求的原始内容,post方式放在body中的. request.arguments, body参数和url参数的统一体, 同时也是经过“加工”,解码的. eg.在对接其他 ...

  10. Android自定义图形shape

    在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片. 这样就容易使apk变大.另一 ...