Nginx 安装配置(Centos7)

Nginx相关概念

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

负载均衡,英文名称为Load Balance,是指建立在现有网络结构之上,并提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。

Nginx安装

  • nginx下载地址
    Nginx 安装配置(Centos7)_第1张图片
    微信截图_20181114213445.png
  • 编译安装
    上传至Linux 并解压进入解压目录
    检查安装环境,并指定将来要安装的路径/usr/local/nginx
    with-http_ssl_module 支持https的反向代理, 详情请看另一篇文章
./configure --prefix=/usr/local/nginx --with-http_ssl_module
  • 若缺包报错:
    ./configure: error: C compiler cc is not found
    使用YUM安装缺少的包, 再次执行上述命令
yum -y install gcc pcre-devel openssl openssl-devel
  • 编译安装
make && make install
  • 运行nginx 测试是否正常:
/usr/loca/nginx/sbin/nginx
  • 查看端口是否有ngnix进程监听
netstat -ntlp | grep 80

配置Nginx

  • 反向代理
    编辑nginix根目录下nginx.conf
vi conf/nginx.conf
server {
        listen       80;         #监听80端口
        server_name  localhost;  #本地服务器的主机名

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        #反向代理的配置
        location / {      #location后面跟正则表达式 /拦截所有请求 
            root   html;
            index  index.html index.htm;
            # 这里是代理走向的目标服务器:tomcat地址
            proxy_pass http://192.168.0.21:8080;

        }

  • 动静分离
# 动态资源 index.jsp
location ~ .*\.(jsp|do|action)$ {
    proxy_pass http://tomcat-01.itcast.cn:8080;
}

# 静态资源
location ~ .*\.(html|js|css|gif|jpg|jpeg|png)$ {
    expires 3d;
}
  • 负载均衡
    在http这个节下面配置一个叫upstream的,后面的名字可以随意取,但是要和location下的proxy_pass http://后的保持一致。
http {

    # 是在http里面的, 已有http, 不是在server里,在server外面
   upstream tomcats {
       #weight表示分配权重
       server 192.168.0.21:8080 weight=1;
       server 192.168.0.22:8080 weight=1;
       server 192.168.0.23:8080 weight=1;
   }

    # 卸载server里
   location ~ .*\.(jsp|do|action) {
       #tomcats是后面的tomcat服务器组的逻辑组号
       proxy_pass http://tomcats;
    }

}

常用命令

  • 在nginx安装目录/sbin/下:
启动 ./nginx
修改配置后重新加载生效 ./nginx -s reload
快速停止nginx ./nginx -s stop
完整有序的停止nginx ./nginx -s quit
  • 通过进程:
查看Nginx进程 ps -ef | grep nginx
从容停止 kill -QUIT 主进程号
快速停止 kill -TERM 主进程号
强制停止 pkill -9 nginx

你可能感兴趣的:(Nginx 安装配置(Centos7))