在互联网网站开发领域,有一个名词,大家一定不陌生,那就是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. javascript小技巧(非常全)

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  2. Android学习笔记(十四)——自定义广播

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 我们除了可以通过广播接收器来接收系统广播, 还可以在应用程序中发送自定义的广播.下面我们来分别试一试发送自定义 ...

  3. iOS 开发笔记 -- 各种细枝末节的知识(水滴石穿)

    在此总结整理,遇到的各种的小问题: 1.通过从字典(数组)中取出的NSString的length==0 作为if的判断条件导致的carsh: 由于在字典中通过Key取出值之后直接做了length相关操 ...

  4. Caffe学习系列(12):不同格式下计算图片的均值和caffe.proto

    均值是所有训练样本的均值,减去之后再进行训练会提高其速度和精度. 1.caffe下的均值 数据格式是二进制的binaryproto,作者提供了计算均值的文件compute_image_mean, 计算 ...

  5. C/C++相对论——C++中为什么要使用异常?

    C++中为什么要使用异常? 很多人也许知道C++中的异常机制,很多人也许不知道.很多人知道C中常用的assert,也知道在编译时候指定NODEBUG来忽略它. 对于C语言,使用正常的if-else即是 ...

  6. 关于mysql安全

    修改root用户密码: update mysql.user set password=password('new_passwd') where user='root'; flush privilege ...

  7. Linux下端口被占用解决

      有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln netstat -tln | ...

  8. 浅析mongoEngine的document对象

    引言: from mongoengine import * connect('local')class Test(Document): name=StringField(max_length=32) ...

  9. Spring+SpringMVC+MyBatis+Maven 服务端XML配置

    项目目录结构 spring-mybatis.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  10. Python类的特点 (2) :类属性与实例属性的关系

    测试代码: #encoding:utf-8 class Parent(object): x=1 #x是Parent类的属性(字段) ls=[1,2] #ls是一个列表,也是Parent类的属性(字段) ...