mmall 学习 采坑之二 文件服务器的搭建
1. Nginx是一款轻量级Web服务器,也是一款反向代理服务器。
Nginx的作用:
(1)可直接支持Rails和PHP的程序
(2)可作为HTTP反向代理服务器
(3)作为负载均衡服务器
(4)作为邮件代理服务器
(5)帮助实现前端动静分离
Nginx特点:
(1)高稳定
(2)高性能
(3)资源占用少
(4)功能丰富
(5)模块化结构
(6)支持热部署
2. 安装 nginx 步骤:
root用户:
1. 安装 gcc
yum install gcc
备注:可输入 gcc -v 查询版本信息,看系统是否自带安装
2.安装pcre
yum install pcre-devel
3.安装zlib
yum install zlib zlib-devel
4.安装openssl
yum install openssl openssl-devel
备注:如需支持ssl,才需安装openssl
综合命令:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
5.下载 、解压缩安装(http://www.nginx.org/)
(1) 下载
wget http://nginx.org/download/nginx-1.10.2.tar.gz
(2)解压缩
tar -zxvf linux-nginx-1.10.2.tar.gz
6.Nginx安装
(1)进入nginx目录之后执行
./configure
1)也可以指定安装目录,本教程中不指定安装目录,直接按默认的来。
./configure --prefix=/usr/nginx
2)如果不指定安装路径,可以通过以下命令进行查询
whereis nginx
3)默认安装路径
/usr/local/nginx
(2)继续执行
make
(3)继续执行
make install
3. 常用命令
(1)测试配置文件
安装路径下的 /nginx/sbin/nginx -t
(2)启动命令
安装路径下的 /nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
(3)停止命令
安装路径下的 /nginx/sbin/nginx -s stop
或者是 : nginx -s quit
(4)重启命令
安装路径下的 /nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s reload
(5) 查看进程命令
ps -ef | grep nginx
这是一个拓展命令
(6)平滑重启
kill -HUP ( Nginx 主进程号(即查看进程命令查到的PID))
4. 开放端口
vim /etc/sysconfig/iptables 然后添加下面
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
3)保存退出
4)重启防火墙
service iptables restart
5. Nginx虚拟域名配置及测试验证
(1) 编辑配置nginx文件
vim /usr/local/nginx/conf/nginx.conf
添加如下:
include vhost/*.conf;
在 /usr/local/nginx/conf/ 目录新建vhost文件夹。
在 vhost 文件夹下创建配置文件
配置文件之一模板:
server {
listen 80;
autoindex on;
server_name www.imooc.com;
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://192.168.6.128:8080;
add_header Access-Control-Allow-Origin *;
}
}
配置文件之二模板:
server {
listen 80;
autoindex off;
server_name image.imooc.com;
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 /product/ftpfile/img/;
add_header Access-Control-Allow-Origin *;
}
}
注意 server_name , proxy_pass ,root 三个配置项的配置。
nginx监听80端口,将 www.imooc.com (默认80端口,被nginx监听) 请求转发到tomcat(监听8080端口)的192.168.6.128:8080上。后面还需要配置下host文件
1)编辑hosts文件
vim /etc/hosts
2)添加对应的域名及ip
192.168.6.128 www.imooc.com
192.168.6.128 image.imooc.com
6. Nginx本地玩注意事项
可以配置域名转发,但是请一定要配置host,并且使host生效之后才可以,设置完成之后要重启浏览器。
注:若想在本地通过域名访问虚拟机nginx,则需要编辑本地hosts文件。如经过以上配置后,在本机访问:http://image.imooc.com/lemon.jpg ,此时请求先转到hosts文件中配置的image.imooc.com 对应的 192.168.6.128,因为这个域名对应默认端口是80,所以会被虚拟机nginx拦截到。再根据 nginx.conf (已经通过 include 将域名转发配置文件包括进来了 )中配置的域名转发配置信息,将请求转发到 /product/ftpfile/img/lemon.jpg。