linux下nginx安装和使用

nginx介绍

nginx是一个高性能的HTTP和反向代理的Web服务器,在实际项目开发中常用于做负载均衡,请求动静分离等。window下直接下载二进制包直接运行即可,今天这篇文章主要讲解在Linux系统下如何安装nginx。

nginx安装

nginx安装环境准备

1、检查系统是否有安装nginx所需要的的依赖包,nginx依赖包包括gcc、g++、zlib-devel、openssl-devel和pcre-devel:

#rpm包安装的,可以用 rpm -qa 查看
rpm -qa | grep "软件或者包的名字"
以deb包安装的,可以用 dpkg -l 查看
dpkg -l | grep "软件或者包的名字"
yum方法安装的,可以用 yum list installed 查看
yum list installed | grep "软件名或者包名"

举例:查看是否安装了gcc

rpm -qa | grep gcc
deb -l | grep gcc
yum list installed | grep gcc

安装依赖包

有网络的情况下可以通过yum直接安装

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

内网环境下采用离线安装方式;

1、查看Linux系统版本号(cat、etc/redhat-release)
2、下载系统版本对应的依赖库(https://vault.centos.org/版本号/os/x86_64/Packages/3、将需要的rpm包上传到Linux服务
4、执行安装命令(rpm -Uvh ./*.rpm --nodeps --force)

安装nginx

下载安装包

进入官方下载地址http://nginx.org/en/download.html,选择需要的版本下载,并上传至服务器,进入文件所在目录,通过命令解压;

tar -zxvf nginx-1.21.0.tar.gz

配置、编译和安装;

1、配置,一般使用默认配置即可,默认配置会将nginx文件生成到/usr/local/nginx下,如果需要生成到指定文件夹可以添加描述。进入安装包目录,通过执行configure命令进行配置:

# 默认配置
./configure
# 文件生成到/data/nginx下
./configure --prefix=/data/nginx

2、编译和安装

make
make install

4、执行完以上命令后进入指定文件夹,如果生成了conf和sbin文件夹就说明安装成功了;
5、进入conf中根据需求修改nginx.conf,配置文件说明会在下面进行说明;
6、进入sbin文件夹,启动nginx就可以了

#启动
./nginx
#重启
./nginx -s reload
#关停
./nginx -s stop

7、通过ps -ef | grep nginx 查看是否启动成功;

nginx使用

nginx的使用主要通过nginx.conf文件进行配置;首先先介绍一下该配置文件的常用参数说明:

#nginx进程数,建议设置为当前主机的CPU总核心数。
worker_processes 4;

#工作模式与连接数上限
events {
    
    
  #单个进程最大连接数
  worker_connections 1024;
}

#http服务器设定
http {
    
    
	#upstream做负载均衡,通过weight定义服务器权重,weight越大则被分配访问的几率越大
	upstream etticketjq{
    
    	#服务器集群名称(etticketjq)
		server 10.188.70.9:10020  weight=1;
		server 10.188.70.10:10020 weight=1;
		server 10.188.70.11:10020 weight=1;
		}
	#虚拟主机配置	
    server {
    
    
        listen       8081;#监听端口
        server_name  localhost;
        #反向代理
        location / {
    
    
		   proxy_pass http://etticketjq;#反向代理访问地址
		   proxy_redirect default;
        }
		location /lashUpTktsFile {
    
     #/lashUpTktsFile,则转到10服务器
           proxy_pass http://10.188.70.10:10020;
        }
    }
}

使用示例

1、将10.188.70.9:10020、10.188.70.10:10020、10.188.70.11:10020负载到本机10010端口配置如下:

#服务器集群
	upstream etticketjq{
    
    	#服务器集群名称
		server 10.188.70.9:10020  weight=1;
		server 10.188.70.10:10020 weight=1;
		server 10.188.70.11:10020 weight=1;
		}
    server {
    
    
        listen       10010;
        server_name  localhost;
        location / {
    
    
            #root   html;
            #index  index.html index.htm;
	    proxy_pass http://etticketjq;
	    proxy_redirect default;
        }

2、请求转发和关键字拦截,将10030端口的请求转发至172.26.92.22:10040端口对应服务,同时将/lashUpTktsFile 接口请求转发只10050端口服务,配置如下:

server {
    
    
		listen 10030;
		server_name localhost;
		location / {
    
    
		proxy_pass http://172.26.92.22:10040;
		}
		location /lashUpTktsFile {
    
     #/lashUpTktsFile,则转到10服务器
           proxy_pass http://172.26.92.22:10050;
        }
	}

猜你喜欢

转载自blog.csdn.net/xianren95/article/details/121984077