一、下载&安装(linux环境)
1、下载地址:点击下载,我选择的是1.18.0版本
2、安装教程
安装工具及工具库
1.先安装gcc-c++编译器
sudo yum install gcc-c++
sudo yum install -y openssl openssl-devel
2.再安装pcre包
sudo yum install -y pcre pcre-devel
3.再安装zlib包
sudo yum install -y zlib zlib-devel
下面命令一次性搞定
sudo yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
解压安装包
tar -zxvf nginx-1.18.0.tar.gz
安装及配置
进入解压的路径
cd nginx-1.18.0
配置nginx可用模块
./configure --prefix=/usr/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gzip_static_module --with-pcre
./configure
--prefix=/usr/nginx #指定安装路径
--with-http_stub_status_module 允许查看nginx状态的模块
--with-http_ssl_module 支持https的模块
--with-http_v2_module 支持http2.0版本协议
--with-http_sub_module
--with-http_gzip_static_module --with-pcre
编译
make && make install
启动及常用命令
进入安装路径的sbin目录
cd /usr/nginx/sbin
执行启动命令
./nginx
常用命令
./nginx -s start 启动
./nginx -s stop 停止
二、常见用法
1、反向代理
解释一下,客户端通过域名或者IP地址访问某个系统时,先是通过DNS解析域名请求到域名映射的服务器,服务器通过nginx的端口监听,捕捉这次请求,捕捉了请求之后,通过自身的代理功能,将请求转发至其他内网服务器,内网服务器同样也有nginx通过端口号监听转发进来的请求,将捕捉到的请求再映射到部署在服务器上面的一个或多个应用。这就是常见的较为安全的网络请求配置。
通常情况下,公司为了安全起见,往往会将数据库、应用以及其他工具安装在内网服务器,那么问题来了,外网用户如何访问呢?这个时候就可以使用nginx的强大功能了-反向代理,另找一台开有外网权限的服务器,通过nginx转发访问到内网服务器上的各个应用,往往这台外网服务器会开启防火墙,并且仅开放所需的端口号,这样就能很大力度的保证安全了。
废话不多说,上配置。
服务器:192.168.2.10(外网)、192.168.2.11(内网)
nginx安装路径下有一个conf文件夹,里面有一个nginx.conf是nginx的默认配置文件,直接展示内容(http块中):
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 100M;
include ../conf.d/*.conf; #指定所有配置文件的路径
#上传下载文件配置
proxy_request_buffering off;
proxy_buffering off;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
set_real_ip_from 192.168.2.09;
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
在conf文件夹的同级目录下创建一个conf.d的文件夹,这个文件夹里面就可以放一个或者多个nginx配置文件了,这些配置文件会在nginx被启动的时候通通加载到nginx服务中,从而实现网络请求。直接展示。
server {
listen 8888 ssl;
server_name 你的域名地址,如:www.baidu.com;
ssl_certificate ../ssl/8519232_www.baidu.com.pem; #通过https方式请求证书
ssl_certificate_key ../ssl/8519232_www.baidu.com.key; #通过https方式请求证书
#配置通过域名访问到本机/usr/projectHomePage路径下的index.html文件
location / {
root /usr/projectHomePage;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
解释一下,在conf.d文件夹中创建一个nginx1.conf文件,里面贴上如上配置,意为将server配置块加载到conf文件夹下的nginx.conf主配置中。
次配置文件编写完成之后需要重新启动nginx才会生效,其作用为,通过你的域名地址加8888端口号即可访问到本机的/usr/projectHomePage/index.html静态文件。