一、软件开发定制的下载与安装
Nginx软件开发定制是一款轻量级的Web服务器/软件开发定制服务器及电子邮件(IMAP/POP3)软件开发定制代理服务器。软件开发定制其特点是占有内存少,软件开发定制并发能力强,事实上nginx软件开发定制的并发能力在同类型的软件开发定制网页服务器中表现较好
1.下载
在Nginx软件开发定制的官网的下载页面中选择较为稳定的 1.16 版本进行下载
2.安装
由于nginx是基于c语言开发的,所以需要安装c语言的编译环境
- //本次安装在linux系统下完成,需按步骤完成操作命令
- //安装依赖包
- yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
- //下载Nginx安装包
- yum install wget
- wget https://nginx.org/download/nginx-1.16.1.tar.gz
- //解压nginx压缩包
- tar -zxvf nginx-1.16.1.tar.gz
- // 配置Nginx编译环境
- cd nginx-1.16.1
- ./configure --prefix=/usr/local/nginx
- //编译&安装
- make & make install
安装完Nginx后,可以切换到Nginx的安装目录(/usr/local/nginx),观察Nginx的目录结构
其中,conf/nginx.conf 是Nginx的核心配置文件
二、Nginx常用命令和环境变量配置
1.Nginx常用命令
在执行下面的指令时,都需要在/usr/local/nginx/sbin/目录下执行。
- // 查看版本
- ./nginx -v
-
- //检查配置文件
- ./nginx -t
-
- //启动
- ./nginx
-
- //停止
- ./nginx -s stop
-
- //重新加载
- ./nginx -s reload
注意:
启动完成后,要想正常访问Nginx的80端口 ,需关闭防火墙或开放指定端口号,执行的指令如下:
A. 关闭防火墙
systemctl stop firewalld
B. 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
2.环境变量配置
上述在使用nginx命令在进行服务的启动、停止、重新加载时,都需要用到一个指令nginx,而这个指令是在nginx/sbin目录下的,每一次使用这个指令都需要切换到sbin目录才可以,使用相对繁琐。 可通过配置nginx的环境变量,在任意目录下都可以执行该指令来操作nginx 。
通过vim编辑器,打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录,如下:
修改完配置文件之后,需要执行 source /etc/profile 使文件生效。
三、Nginx-应用
1.配置文件结构
nginx的配置文件(conf/nginx.conf)整体上分为三部分:
全局块、配置和nginx运行相关的全局配置
events块:配置和网络连接相关的配置
http块 :配置代理、缓存、日志记录、虚拟主机等配置
在http块中可以包含多个server块,每个server块可以配置多个location块。
2.部署静态资源
Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在,并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。
将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。
- server {
- listen 80; #监听端口
- server_name localhost; #服务器名称
- location / { #匹配客户端请求url
- root html; #指定静态资源根目录
- index index.html; #指定默认首页
- }
- }
将静态资源上传到 /usr/local/nginx/html 目录
启动nginx
访问
我们也可以通过修改指定默认首页的路径的方式来修改访问路径
配置文件修改后,需要重新加载一下,才可以生效 :nginx -s reload
3.反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定,对于用户来说,访问反向代理服务器是完全无感知的。 在nginx中,我们可以在nginx.conf中配置反向代理:
进入nginx的安装目录,并编辑配置文件nginx.conf:
cd /usr/local/nginx/conf/
vim nginx.conf
在http块中,再添加一个server块虚拟主机的配置,监听82端口,并配置反向代理proxy_pass:
- server {
- listen 82;
- server_name localhost;
- location / {
- proxy_pass http://192.168.200.201:8080; #反向代理配置,将请求转发到指定服务
- }
- }
-
- //上述配置的含义为: 当我们访问nginx的82端口时,根据反向代理配置,
- 会将请求转发到 http://192.168.200.201:8080 对应的服务上。
检查配置文件,并重新加载
nginx -t
nginx -s reload