Nginx官网里有相关的文档指导用户安装、配置、使用。
开源的Nginx在 /NGINX Plus/Admin Guide/Installing NGINX and NGINX Plus/Installing NGINX Open Source
的位置
1.快速安装
详细的安装文档请在官网查看,这里只有简单的安装步骤,如下:
安装Nginx
# wget https://nginx.org/download/nginx-1.14.2.tar.gz
# tar -zxf nginx-1.14.2.tar.gz
# cd nginx-1.14.2
# ./configure && make && make install
# cd /usr/local/nginx
# ./sbin/nginx
安装gcc(必要条件)
编译报错./configure: error: C compiler cc is not found,需要安装gcc
# yum install -y gcc-c++
安装openssl
# yum install -y openssl
或者手动下载
# tar zxvf openssl-fips-2.0.16.tar.gz
# cd openssl-fips-2.0.16
# ./config && make && make install
安装pcre(必要条件)
编译报错./configure: error: the HTTP rewrite module requires the PCRE library
,需要安装pcre
# yum install -y pcre-devel
或者手动下载
# tar zxvf pcre-8.43.tar.gz
# cd pcre-8.43
# ./configure && make && make install
安装zlib (必要条件)
编译报错./configure: error: the HTTP gzip module requires the zlib library,需要安装zlib
# yum install -y zlib-devel
或者手动下载
# tar zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure && make && make install
2.安装结果
安装完成后,
通过whereis nginx
查看nginx安装的路径,
通过ps -ef | grep nginx
查看线程启动状态,
通过在本机浏览器输入localhost
查看Welcome to nginx
3.服务启停
启动
# /usr/local/nginx/sbin/nginx
停止/重启
# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
# /usr/local/nginx/sbin/nginx -h
验证配置文件
# /usr/local/nginx/sbin/nginx -t
自启动(参考官网):https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/
4.配置文件
编辑配置文件 vim /usr/local/nginx/conf/nginx.conf
由于官网的Admin Guide中有十分详细的说明,在这里只做简单描述。
upstream xxx{};
upstream模块是命名一个后端服务器组,组名必须为后端服务器站点域名,内部可以写多台服务器ip和port,还可以设置跳转规则及权重等等
ip_hash;代表使用ip地址方式分配跳转后端服务器,同一ip请求每次都会访问同一台后端服务器
server;代表后端服务器地址
server{};
server模块依然是接收外部请求的部分
server_name;代表外网访问域名
location / {};同样代表过滤器,用于制定不同请求的不同操作
proxy_pass;代表后端服务器组名,此组名必须为后端服务器站点域名
server_name和upstream{}的组名可以不一致,server_name是外网访问接收请求的域名,upstream{}的组名是跳转后端服务器时站点访问的域名
1 server模块
一个server代表着一个web,面向外部
如
server {
listen 81;
server_name www.gl.com;
location / {
proxy_pass http://backend
}
}
2 upsteam模块
一个upsteam代表一个web组,即负载均衡,面向内部
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
server 192.0.0.1 backup;
}