Ubuntu下安装LNMP之nginx的安装
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的安装的更多相关文章
- Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php
据了解,php7是比之前的版本性能快很多的.http://php.net/get/php-7.2.2.tar.gz/from/a/mirror 安装前也可提前将相关依赖库安装好,或者在安装php时若安 ...
- CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)
关于 Nginx (发音 “engine x”)这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教程演示如何在CentOS 6.5服务器(适用 ...
- centos7安装Lnmp(Linux+Nginx+MySql+Php+phpMyAdmin+Apache)
centos7安装Lnmp(Linux+Nginx+MySql+Php)及Apache Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx是一个高性能的HTTP和反向代理服务器,Ng ...
- Ubuntu下使用Deepin-wine的移植版安装qq微信等
title: Ubuntu下使用Deepin-wine的移植版安装qq微信等 toc: false date: 2018-09-18 16:12:49 categories: methods tags ...
- Ubuntu下安装LNMP之nginx的卸载
我在安装Nginx时,是采用自己从网上down下自己需要的nginx版本进行编译安装的,如果使用过apt库来进行安装的话可以参考这篇文章:ubuntu中彻底删除nginx 假如是编译安装的童鞋,可以按 ...
- 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 ...
- CentOS 7 下编译安装lnmp之nginx篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:CentOS Linux release 7.5.1804 (Core),ip地址 192.168.1.168 ...
- [转载]CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)
关于 Nginx (发音 "engine x")这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教程演示如何在CentOS ...
- centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)
之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXT ...
随机推荐
- semcms 网站漏洞挖掘过程与安全修复防范
emcms是国内第一个开源外贸的网站管理系统,目前大多数的外贸网站都是用的semcms系统,该系统兼容许多浏览器,像IE,google,360极速浏览器都能非常好的兼容,官方semcms有php版本, ...
- 多线程编程之Apue3rd_Chapter15.10之posix信号量
看了APUE的chapter15,只重点看了15.10,学习了posix信号量.Posix信号量比起xsi信号量的优点是性能更好,在Linux3.2.0平台上性能提升很大.其中命名信号量使用方法如下. ...
- 对bluebird的理解
前言 Promise:把原来的回调写法分离出来,在异步操作执行完后,用链式调用的方式执行回调函数. 在公众号的开发里面用的const Promise = require('bluebird');con ...
- 贪心算法之Kruskal
克鲁斯卡尔Kruskal算法同Prim算法一样,都是求最小生成树.Kruskal是不断的找最短边,加入集合,且不构成回路. 所以,我们可以给每个点定义一个集合,一边的起点和终点查看是否属于同一集合,如 ...
- shell eval命令使用
eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令. 该命令适用于那些一次扫描无法实现其功能的变量.该命令对变量进行两次扫描. 这些需要进行两次扫描的变量有时被称为复杂变量.不过这些变量本 ...
- javascript对象转为字符串
function getStringTime(time){ //年 year = time.getFullYear(); //月 month = time.getMonth() if(String(m ...
- model的index无限次数执行导致stackOverFlow
model的index无限次数执行导致stackOverFlow
- 在Linux下通过rpm打包发布Java程序
这个东西涉及的内容较多,根据下面这些文章慢慢学习 一个简单的例子 http://blog.csdn.net/king_on/article/details/7169384 按照文章中的步骤来,打包之后 ...
- MyBatis实例教程--开发环境搭建
MyBatis实例教程--开发环境搭建 准备工作: 1.mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包 ...
- 在ubuntu下 使用Jetty 和 Maven 开发 HelloWorld
1 安装JDK 我以前安装过,这里就不说了. 2 安装maven 去官网下载 解压 添加环境变量 gedit ~/.bashrc export JETTY_HOME=/home/roc/libs/ ...