【实战】2-15 Nginx安装配置

Nginx是什么

Nginx是一款轻量级的web服务器,也是一款反向代理服务器,这个实战里面主要作为http反向代理服务器,还可以作为负载均衡服务器、邮件代理服务器、实现前端动静分离

安装依赖

需要安装一些依赖,如果有就可以不再次安装,没有就装上呗~

#安装gcc
yum install gcc
#安装pcre
yum install pcre-devel
#安装zlib
yum install zlib zlib-devel
#安装OpenSSL
yum install openssl openssl-devel

下载安装

#这里我下载最新的稳定版
wget http://101.96.10.63/nginx.org/download/nginx-1.12.1.tar.gz
#解压缩
tar -zxvf nginx-1.12.1.tar.gz
#进入Nginx文件夹
cd nginx-1.12.1
#执行./configure,就安装在默认目录/usr/local/nginx
./configure
#最后,这样安装完成
make
make install
#可以查看安装位置
whereis nginx

Nginx常用命令

  • 测试配置文件
    进入nginx安装目录下的/nginx/sbin
    执行./nginx -t

  • 启动命令
    还是上面那个位置,执行./nginx

  • 停止命令
    ./nginx -s stop或者./nginx -s quit

  • 重启命令
    ./nginx -s reload

  • 通过查看进程平滑重启

#查看nginx进程
ps -ef | grep nginx
#平滑重启
kill -HUP 前面查出来的PID号

再次为nginx配置防火墙

vim /etc/sysconfig/iptables
#往合适位置添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
#保存退出,重启防火墙,阿里云控制台里面80端口我已经打开,这里就不赘述了
service iptables restart

Nginx虚拟域名(端口转发、目录转发)

这里我暂时先不跟老师一样配置这个,配置完以上,直接浏览器访问我的阿里云ip地址就能看到如下截图
这里写图片描述

如果买了域名并配置了解析,还能用自己的域名访问到O(∩_∩)O哈哈~自己起个生僻点的价格不贵~
这里写图片描述

开始配置反向代理哈~

#编辑nginx配置
vim /usr/local/nginx/conf/nginx.conf
#在里面增加一行include vhost/*.conf,这样做体现分层配置的思想,不要把所有的配置都加在一个文件中
#在/usr/local/nginx/conf/下新建vhost文件夹
#新建一个winxblast.top.conf文件
vim winxblast.top.conf

添加以下内容

#这样我就通过nginx反向代理了tomcat,从80端口到8080端口,这样在防火墙中就不用把8080端口开放了
server { 
    default_type 'text/html'; 
    charset utf-8; 
    listen 80; //监听80端口
    autoindex on; //是否创建首页的索引目录
    server_name www.winxblast.top; //把对该域名的请求转移到下面location中填写的地址
    access_log /usr/local/nginx/logs/access.log combined; 
    index index.html index.htm index.jsp index.php; 
    #error_page 404 /404.html; 
    if ( $query_string ~* ".*[\;'\<\>].*" ) { 
        return 404; 
    } 
    location / { 
        proxy_pass http://127.0.0.1:8080; //如果是转发到文件目录,则使用root+目录位置
        add_header Access-Control-Allow-Origin *; 
    } 
} 

重启nginx试试就可以啦
这里写图片描述

目录转发及其意义

上面讲了Nginx能实现某个域名请求过来转发到某个文件目录,这里我让img.happymall.winxblast.top转发到之前设置的ftp文件夹,这样后期通过Apache开源包,在商店商品管理后台上将商品图片等传入这个图片目录下。这么做更大的意义在于,以后访问量增大时,可以把文件服务器单独设立出来,以提高性能,更好的实现架构的扩展。

#还是在/usr/local/nginx/conf/vhost/下新建一个配置文件img.happymall.winxblast.top.conf
#添加如下内容
server { 
    listen 80; 
    autoindex off; 
    server_name img.happymall.winxblast.top; 
    access_log /usr/local/nginx/logs/access.log combined; 
    index index.html index.htm index.jsp index.php; 
    #error_page 404 /404.html; 
    if ( $query_string ~* ".*[\;'\<\>].*" ){ 
        return 404; 
    } 
    location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* { 
        deny all; 
    } 
    location / { 
        root /ftpfile/; //这里的文件位置以后可能会更改
        add_header Access-Control-Allow-Origin *; 
    } 
} 

最后提醒一句,别忘了给这个二级域名添加DNS解析,不然就访问不到咯···
这样我们就能访问到里面的图片了
这里写图片描述

再附一张老师的架构讲解图

这里写图片描述
这里将file server和session server分离出来以实现更好的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值