在互联网网站开发领域,有一个名词,大家一定不陌生,那就是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. phpcms二次开发学习

    1.新建模块就是phpcms/modules/目录下面新建文件夹,文件夹名即为模块名. 2.模块内 一般新建三个文件夹:classes(模块要使用的类放置在这个文件夹,通过pc_base::load_ ...

  2. C++ 复制构造函数

    C++类的设计中,如果某些函数没有显式定义,C++会自动生成,复制构造函数便是其中之一,其他的还有默认构造函数.赋值操作符.默认析构函数.地址操作符.一个类的复制构造函数的原型一般为: Class_n ...

  3. [POJ3096]Surprising Strings

    [POJ3096]Surprising Strings 试题描述 The D-pairs of a string of letters are the ordered pairs of letters ...

  4. 160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶

    实验2-6 猜数字游戏 实验要求: 编写一个C程序实现一个[1-100]以内的猜数字游戏. (1)       系统随机产生一个[1-100]之间的随机数. (2)       输入任意一个数字.数字 ...

  5. STM32通用定时器(转载)

    STM32的定时器功能很强大,学习起来也很费劲儿. 其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册-}才搞明 ...

  6. jQuery插件-表单验证插件-Validation

    1.Validation简介 标准的验证方法库 1)内置验证规则:必填,数字,E-Mail,URL和信用卡号码等19类内置验证规则. 2)自定义验证规则:自定义 3)验证信息提示:默认了验证信息提示, ...

  7. django foreign key 自动加_id问题

    解决:http://stackoverflow.com/questions/8223519/preventing-django-from-appending-id-to-a-foreign-key-f ...

  8. LINUX优化得很好的sysctl.conf配置

    最近找了个不错的sysctl.conf的优化参数,在网站响应上已经算不错了的,time超时连接据说几乎为0了.  系统:centos 5.x sysctl.conf配置参数: kernel.msgmn ...

  9. PHP: How to print a debug log?

    file_put_contents('php://stderr', print_r("hello ", TRUE)); 转自: http://stackoverflow.com/q ...

  10. VIM基础

    http://www.cnblogs.com/wawlian/archive/2012/05/22/2512801.html http://www.cnblogs.com/wawlian/archiv ...