Nginx 最初是作为一个 Web 服务器创建的,用于解决 C10k 的问题。作为一个 Web 服务器,它可以以惊人的速度为您的数据服务。但 Nginx 不仅仅是一个 Web 服务器,你还可以将其用作反向代理,与较慢的上游服务器(如:Unicorn 或 Puma)轻松集成。你可以适当地分配流量(负载均衡器)、流媒体、动态调整图像大小、缓存内容等等。

基本的 nginx 体系结构由 master 进程和其 worker 进程组成。master 读取配置文件,并维护 worker 进程,而 worker 则会对请求进行实际处理。

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好。

一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

安装Nginx依赖库

安装gcc g++依赖库

1 sudo apt-get install build-essential
2 sudo apt-get install libtool

sudo 的意思是赋予当前登录用户某某权限(super user do),也可以直接apt-get install ...,如果直接使用apt-get提示权限不足时,可以加上sudo来操作,就OK了。可以参考:ubuntu使用su切换root用户提示“认证失败”来了解sudo的作用。如果当前你登录的是root根用户,直接使用apt-get即可。接下来的操作如果涉及到权限不足,皆可使用sudo或者切换到根用户下。

(gcc和g++区别和作用参考:http://www.cnblogs.com/samewang/p/4774180.html

安装pcre依赖库

1 sudo apt-get update
2 sudo apt-get install libpcre3 libpcre3-dev

apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

apt-get update 的意思是更新当前系统软件包列表。具体可参考该命令详解。

nginx的rewrite伪静态匹配规则用到正则,pcre就用来干这个。具体查看360百科

安装zlib依赖库

1 sudo apt-get install zlib1g-dev

安装ssl依赖库

1 sudo apt-get install openssl

OpenSSL是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。调用OpenSSL的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器之间数据的安全。

一路走下来,我们可以发现,所有的依赖库啊之类的基本上都是用C或者C++来编写的,然后通过gcc或者g++来编译,可见C和C++的强大。

安装Nginx

apt-get 一键安装

1 sudo apt-get update
2 sudo apt-get install nginx

手动编译安装

1 # 下载最新版本
2 wget http://nginx.org/download/nginx-1.2.2.tar.gz
3 # 解压
4 tar -zxvf nginx-1.2.2.tar.gz
5 # 进入解压目录
6 cd nginx-1.2.2
7 # 配置
8 sudo ./configure --prefix=/usr/local/nginx
9 # 编译nginx
10 sudo make
11 #安装nginx
12 sudo make install
12 # 启动nginx
14 sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
15 # 注意:-c 指定配置文件路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。
16 # 查看nginx进程
17 ps -ef|grep nginx

注意:以上sudo可加可不加,仅在权限不足时临时获得根用户权限。可参考“安装gcc g++依赖库”中的介绍。

Nginx常用命令

启动Nginx

1 sudo /usr/local/nginx/sbin/nginx
2 注意:若是已经将nginx加入系统服务,可不用输入那么长的地址,具体步骤后续讨论,和shell相关。

停止Nginx

1 sudo /usr/local/nginx/sbin/nginx -s stop
2 注意:stop 是快速关闭,不管有没有正在处理的请求。
1 sudo /usr/local/nginx/sbin/nginx -s quit
2 注意:quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求。

-s 的意思是向nginx发送信号,signal的意思。可参考:CommandLine

重新加载配置信息

1 sudo /usr/local/nginx/sbin/nginx -s reload

指定配置文件

1 sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

-c 的意思是指定配置文件,configuration

查看Nginx版本

1 sudo /usr/local/nginx/sbin/nginx -v
 2  nginx version: nginx/1.2.2

要想查看具体Nginx版本信息,将小些的v改成大写的V即可。

将显示:

nginx version: nginx/1.2.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
configure arguments: --prefix=/usr/local/nginx

检查Nginx配置文件是否有误

1 sudo /usr/local/nginx/sbin/nginx -t
2 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
3 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  

出现上述提示就表示配置文件是正确的,否则将会有相关提示。

大量参考来自:Ubuntu16.04.1 安装Nginx

Ubuntu下安装LNMP之nginx的安装的更多相关文章

  1. Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php

    据了解,php7是比之前的版本性能快很多的.http://php.net/get/php-7.2.2.tar.gz/from/a/mirror 安装前也可提前将相关依赖库安装好,或者在安装php时若安 ...

  2. CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)

    关于 Nginx (发音 “engine x”)这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教程演示如何在CentOS 6.5服务器(适用 ...

  3. centos7安装Lnmp(Linux+Nginx+MySql+Php+phpMyAdmin+Apache)

    centos7安装Lnmp(Linux+Nginx+MySql+Php)及Apache   Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx是一个高性能的HTTP和反向代理服务器,Ng ...

  4. Ubuntu下使用Deepin-wine的移植版安装qq微信等

    title: Ubuntu下使用Deepin-wine的移植版安装qq微信等 toc: false date: 2018-09-18 16:12:49 categories: methods tags ...

  5. Ubuntu下安装LNMP之nginx的卸载

    我在安装Nginx时,是采用自己从网上down下自己需要的nginx版本进行编译安装的,如果使用过apt库来进行安装的话可以参考这篇文章:ubuntu中彻底删除nginx 假如是编译安装的童鞋,可以按 ...

  6. Ubuntu 14.04 安装LNMP(nginx/1.12.1+php7.1.9+mysql5.7.19)环境

    这篇教程中,我们将讨论怎样在Ubuntu 14.04搭建LNMP环境 1 安装Nginx 首先我们要更新apt源 sudo add-apt-repository ppa:nginx/stable  s ...

  7. CentOS 7 下编译安装lnmp之nginx篇详解

    一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:CentOS Linux release 7.5.1804 (Core),ip地址 192.168.1.168   ...

  8. [转载]CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)

    关于 Nginx (发音 "engine x")这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教程演示如何在CentOS ...

  9. centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)

    之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXT ...

随机推荐

  1. OMAPL138制作SD卡启动介质及重装Linux系统

    OMAPL138制作SD卡启动盘及重装Linux系统 手里的创龙的OMAPL138平台的系统SSH坏掉了,我重新移植了openssh还是不好使,没有办法了只能重装OMAPL138的系统了,按照创龙给的 ...

  2. Python特别low的一个文字游戏

    闲来无事 ,调侃舍友的游戏 import os class Role(): def __init__(self,name,sex,fighting): self.name=name self.sex= ...

  3. ctf题目writeup(1)

    2019/1/28 题目来源:爱春秋 https://www.ichunqiu.com/battalion?t=1 1. 该文件是一个音频文件: 首先打开听了一下,有短促的长的....刚开始以为是摩斯 ...

  4. webug学习(1)

    webug的题目,比较简单,拿来巩固一哈. 1. 一看就知道是注入漏洞了,啥也不说sqlmap直接开炮. 先-u 之后-u 网址 --current-db 获取当前网址的数据库 所以当前数据库就是 p ...

  5. 计蒜客-----跳跃游戏(C语言)

    /********************************************************给定一个非负整数数组,假定你的初始位置为数组第一个下标.数组中的每个元素代表你在那个位 ...

  6. uva 508 - Morse Mismatches(摩斯码)

    来自https://blog.csdn.net/su_cicada/article/details/80084529 习题4-6 莫尔斯电码(Morse Mismatches, ACM/ICPC Wo ...

  7. redhat6.4 安装Oracle11gR2 遇到的问题

    http://blog.sina.com.cn/s/blog_53a5865c0102e2u6.html   1.使用的时候出现一个错误: /lib/ld-linux.so.2: bad ELF in ...

  8. P1078 文化之旅

    P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家 ...

  9. C#3DES加密了解一下

    最近一个项目中,因为服务端是用的java开发的,客户端是用的C#,由于通信部分采用到了3DES加密,所以做个记录,以备以后需要的时候直接用. 这是对方(java)的加密算法,和网上流传的代码也差不多( ...

  10. coreos install megacli

    基于官方的coreos ramdisk安装dell raid管理工具,其版本为debian8 jessie root@c64c7df05677:/# more /etc/apt/sources.lis ...