在上一篇博文《LNMP平台搭建---Linux系统安装篇》中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx,开始安装前,先大致了解一下Nginx这个后起之秀的Web服务器吧。

  Nginx第一次正式发布是在2004年10月,它是一款免费开源的高性能HTTP服务器和反向代理服务器,并且可作为邮件服务器,在它的官网:http://www.nginx.org 可以了解更多,当前最新的稳定版本是1.10.2,12年来,在全世界技术人员的合作开发和完善下,它已越来越成熟和稳定。其主要的特点简单如下,更多功能可以在官网或使用中慢慢发掘:

  1. 支持通过缓存加速访问html页面;

  2. 支持虚拟主机和URL重定向,支持SSL协议;

  3. 可作为邮件代理服务器;

  4. 支持反向代理服务和负载均衡配置;

  5. 支持FastCGI,后面安装PHP会用到它的;

  6. 支持网络监控,可以控制访问连接和速度

  7. ......

  介绍了这几点,是不是想安装来试下?现在就可以操刀吧~

  首先说明一下安装环境参数:

  1. 服务器IP: 172.16.143.206(VMWare虚拟机,和宿主机网络连接使用NAT连接方式)

  2. Nginx版本:1.10.2

  3. Nginx原本就是基于Linux环境开发的,后面虽然加入了windows版本,不过,性能上,肯定在原来的linux系统上更好,所以建议正式使用使用linux的,学习吧,windows就行,不必要费时间在环境搭建上,后面再慢慢转。

  4. 源码编译安装方式,可以使用最新版本,yum库一般不是最新的

  1. 为了方便操作,在开启虚拟机后,使用ssh方式连接到它来进行操作,其实,很多linux服务器都这样使用的。

    

    先建立一个文件夹来保存这些软件,然后把软件上传到这个目录下,注意,该目录访问权限设置,否则会上传失败。这里使用scp命令上传文件,上传后如下:

  

  左图是连接上的linux服务器,右图是我电脑的伪shell控制台。

  2. 解压nginx软件压缩包,看看里面内容:

  

  2.1 auto目录:存放脚本文件,配合configure使用的

  2.2 CHANGES文件:说明该版本的更新和修复的内容

  2.3 conf目录:Nginx服务器的配置文件

  2.4 contrib目录:第三方资源

  2.5 html目录:存放网站资源文件,如html文件、css文件、js文件等

  2.6 man目录:Nginx服务器帮助文档,安装完成后,man nginx就可以查看了

  2.7 README文件:简单地帮助文档

  2.8 src目录:Nginx服务器源码,建议有时间应该读一下,肯定有收获的

  3. 安装准备:

    Nginx这里采用编译安装方式,因此,需要gcc编译器,另外,还需要automake工具以完成makefile的自动创建工作,为了支持rewrite模块,需要pcre库,为了支持gzip模块,需要zlib库,为了支持ssl模块,需要openssl库,因为之前安装Linux系统使用的是最小化安装,这里首先安装一下:

    sudo yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel

    然后就会自动安装了,稍后片刻即可,安装过程如下所示:

    

  4. 生成makefile文件

   我们使用configure加一下参数来生成makefile文件,我们可以执行命令来“./configure --help”看看支持的参数:

   

  这里有很多参数,我们可以按需配置即可,不用全部都设,有些也是有默认值的。

  现在的配置参数为:

  ./configure --prefix=/home/linjk/usr/nginx1.10.2 --with-http_ssl_module --with-mail --with-mail_ssl_module

  执行该命令即可生成makefile文件用于编译了。

  然后执行make,没有错误后就执行make install即可安装成功。 如下:

  

 5. 启动nginx

  我们先来看看conf目录下的nginx.conf服务器配置文件:

  

  配置文件里设定了一些公共参数后,指定了一台server主机监听于80端口。一般修改这个文件后,启动或重启nginx服务器前最好先进行配置文件的测试,避免web服务暂停。

  

这里提示权限不足,不能绑定到80端口,在Linux下,1024以下端口号需要root权限,我们在命令前加sudo来执行即可:

  

测试配置文件没问题了,启动nginx:

  sudo ./nginx 启动即可,下面来确认一下是否启动了:

  

  访问看看输出什么:

  

  拒绝访问?!我们看看目录权限:

  

  权限没问题,再看看配置文件,发现第一行“#user nobody”,我们修改它为"user linjk",和目录权限一样,然后测试一下配置文件没问题(记得这一步),然后再启动试试:

  

  可以了。

  如果在宿主机无法访问,可如下操作:

  习惯了iptable了,但是CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙

  a. 关闭firewall:

    sudo systemctl stop firewalld.service      #停止firewall

    sudo systemctl disable firewalld.service #禁止firewall开机启动

  b. 编辑防火墙规则:

    sudo vim /etc/sysconfig/iptables

    增加第12行,如下所示:

    

   c.

    sudo systemctl restart iptables.service    #重启防火墙使配置生效

    sudo systemctl enable iptables.service   #设置防火墙开机启动

   d. 访问可以了:

     

  另外,nginx服务器的升级和平滑升级就不说了,man nginx一下应该就可以看懂使用了。

  后面就是网站开发了,编写html+css+javascript就可以提供外部访问网页了,但是这只能提供静态网页的访问,10年前就属于这样形式,成为web1.0时代,很多网站都是静态资源,我们用户无法修改其内容,只能看,但是,现在基本都是动态网站了,所谓的web2.0时代,就是说网站内容是根据不同用户来生成的,很常用的百度、新浪微博等,根据你搜索提供不一样的内容,你还可以发帖更新网页,这就需要后台数据库和编程语言的支持了,编程语言例如:JSP、PHP、ASP等,后面就是使用php来搭建动态解析器,后面再说。

  nginx服务器后面就是根据模块增减和业务需求,修改con目录下的配置文件了。

  下一篇,将介绍LNMP平台的mysql数据库安装。

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

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

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

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

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

  3. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  4. Linux 之 LNMP服务器搭建-Nginx

    LNMP服务器搭建-Nginx 参考教程:[千峰教育] 系统版本: CentOS 6.8 关闭防火墙和Selinux service iptables stop setenforce 安装Nginx ...

  5. 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

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

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

  7. CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (一)Nginx安装篇

    CentOS 6.5 minimal安装不再赘述 Nginx源码安装 1.安装wget下载程序 yum -y install wget 2.安装编译环境:gcc gcc-c++ automake au ...

  8. Linux nginx安装篇

    目录 前言 版本 安装 1.下载 2.安装依赖 3.编译安装 4.启动 5.服务启动 参考资料 前言 最近新申请了一台服务器,需要安装下nginx服务,安装nginx不是第一次,之前反反复复也装过,由 ...

  9. postfix邮件服务器搭建03-webmail安装篇

    本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...

随机推荐

  1. Java设计模式 之 代理模式

    所谓的代理模式就是为其它类或对象提供一个代理以控制对这个对象的访问.那么常见的代理有远程代理,虚拟代理,保护代理,智能代理. 1. 远程代理:为一个不同地址空间的对象提供一个本地代理对象. 2. 虚拟 ...

  2. python 临时变量使用心得

    在函数里面的临时变量也可以定义为一个函数名.变量名,这样就可以通过对象来访问这个变量了,函数使用完之后不会消除.因为函数也是对象,python里面一切皆为对象.

  3. css 3d 动画 相关

    transform-style: preserve-3d; 设置3D模式 perspective:700px :属性定义 3D 元素距视图的距离,以像素计.该属性允许您改变 3D 元素查看 3D 元素 ...

  4. 小白死去活来的安装ros_qtc_plugin

    在距离写上一篇有关ROS的文章已经过去了很久了.在这段时间内一直在积累,盼望着能够厚积薄发,但还是被无情的社会折磨的死去活来,深深的体会到了一般学校和重点学校找工作的差别,以及用人单位的区别对待.说到 ...

  5. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  6. Hashtable和HashMap的区别举例

    我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable ...

  7. BZOJ 2177: 曼哈顿最小生成树

    Sol 考了好几次曼哈顿最小生成树,然而一直不会打...这次终于打出来了...神tm调试了2h...好蛋疼... 首先曼哈顿最小生成树有个结论就是讲它每45度分出一个象限,对于每个点,只与每个象限中离 ...

  8. 39 网络相关函数(七)——live555源码阅读(四)网络

    39 网络相关函数(七)——live555源码阅读(四)网络 39 网络相关函数(七)——live555源码阅读(四)网络 简介 14)readSocket从套接口读取数据 recv/recvfrom ...

  9. div元素抓取

    var files = $(".button").find("input[type='image']"); files.each(function() { $( ...

  10. [ruby on rails] 深入(2) ruby基本语法

    1. 调试&注释&打印输出 1.1 调试 ruby属于解释型语言,即脚本,在linux上,脚本的执行无非三种: 1. 用解释器运行脚本 解释器 脚本文件 即:ruby  脚本文件 2. ...