一. nginx 介绍
转自:https://www.cnblogs.com/lywJ/p/10710361.html
1 什么是nginx
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
2 应用场景
-
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
-
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
-
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
二. nginx安装
1 下载
官方网址 http://nginx.org/en/download.html
官网提供三种版本:
Nginx官网提供了三个类型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版
我们这里下载的是Stable version下面的
使用的版本是1.14.0.tar.gz.
2 安装要求的环境
下面的环境需要视自己的系统情况而定,没有的环境安装以下就好。
- 1.需要安装gcc环境
yum install gcc-c++
- 2.第三方的开发包
1 PERE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel
2 zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
3 openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,
并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
3 nginx安装过程
- 1 把nginx源码包上传到linux系统上
- 2 解压到/usr/local下面
tar -xvf nginx-1.14.0.tar.gz -C /usr/local
3 使用cofigure命令创建一个makeFile文件
执行下面的命令的时候,一定要进入到nginx-1.14.0目录里面去。
./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
–with-http_stub_status_module
–with-http_ssl_module
–with-file-aio
–with-http_realip_module
如果没有makeFile文件,编译的时候会报错
\ 表示命令还没有输入完,换行的意思。
–prefix=/usr/local/nginx 表示软件安装到/usr/local/nginx下面。
这个make install 的时候就不用在指定安装路径。
执行完成后查看目录里面已经多了一个Makefile文件
注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,
需要在/var下创建temp及nginx目
- 4 创建目录/var/temp/nginx/
mkdir /var/temp/nginx -p
-p 表示级联创建的意思
- 5 进入nginx-1.14.0里面执行make命令进行编译
- 6 进入nginx-1.14.0里面执行make install 命令进行安装
- 7 进入安装位置/usr/local/nginx查看目录结构
- 其中html是里面首页html文件。conf里面是配置文件。sbin里面只执行文件。
3 启动nginx
进入sbin目录,执行命令./nginx
[root@admin sbin]# ./nginx
4 查看nginx是否启动
[root@admin sbin]# ps -aux | grep nginx
ps命令用于报告当前系统的进程状态。
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
5 关闭nginx
[root@admin sbin]# ./nginx -s stop
或者
[root@admin sbin]# ./nginx -s quit
6 重启nginx
7 刷新配置文件
[root@admin sbin]# ./nginx -s reload
8 关闭防火墙,开启远程访问
首先需要关闭防火墙:默认端口是80
9 访问nginx
10 配置虚拟主机
就是在一台服务器启动多个网站。
如何区分不同的网站:主要有以下两种方式
方式一:端口不同
方式二:域名不同
11 通过端口区分不同的主机
nginx配置文件的位置:/usr/local/nginx/conf/nginx.conf
原始配置文件的内容如下:
我们可以通过配置多个server,从而配置多个虚拟机