Nginx
Nginx简介:
Nginx是一款轻量级
Web服务器,也是一款
反向代理服务器。
Nginx能干什么?
Nginx能干的事情很多,这里简单罗列一些:
1.可直接支持Rails和PHP的程序。
2.可作为HTTP反向代理服务器。
3.作为负载均衡服务器。
4.作为邮件代理服务器。
5.帮助实现前端动静分离。
Nginx特点:
高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署
Nginx安装(Linux):
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 nginx-1.10.2.tar.gz
6.Nginx安装
注意:在安装nginx之前,一定要检测该系统是否成功安装了gcc编译器,以及其他所需软件。否则会报错:
因此要执行 : yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
(1)进入nginx目录之后执行
./configure
①:也可以指定安装目录,增加参数
--prefix=/usr/nginx
②:编译 make
③:安装 make install
④:如果不指定路径,可以通过
whereis nginx
进行查询
⑤:默认安装在
/usr/local/nginx
7、Nginx常用命令
①:测试配置文件:
安装路径下的 /nginx/sbin/nginx -t
②:启动命令:(启动之前最好将80接口在防火墙上配置一下,因为nginx的默认端口是80)
安装路径下的 /nginx/sbin/nginx
③:停止命令:
安装路径下的 /nginx/sbin/nginx -s stop
或者是:nginx -s quit
④:重启命令:
安装路径下的 /nginx/sbin/nginx -s reload
⑤:查看进程命令:
ps -ef | grep nginx
⑥:平滑重启
kill -HUP [Nginx主进程号(即查看进程命令查到的PID)]
⑦:增加防火墙访问权限:
1、 sudo vim /etc/sysconfig/iptables
2、 -A INPUT -p tcp -m state --state NEW
-m tcp --dport 80 -j ACCEPT
3、保存退出
4、重启防火墙
7、测试
域名解析配置
nginx是一款轻量级的web服务器,也是一款反向代理服务器(域名转发就是反向代理的功能)
1、进入nginx安装目录下的conf目录 ( /usr/local/nginx/conf )下创建 文件夹 vhost
创建vhost文件夹,用来存放各个域名的conf文件,这样做是为了更方便管理各个域名的解析,否则都写在nginx.conf下,随着时间的发展,内容会越来越多,不好管理。
2、修改 /usr/local/nginx/conf 下的 nginx.conf文件
3、修改一下linux操作系统上的 hosts文件,
因为要通过配置hosts文件配置通知域名映射到对应的IP地址上。(因为我没有域名,只能通过host文件在本地模拟了)
4、配置www.btt.com.conf文件
在/usr/local/nginx/conf/vhost目录下创建并配置该文件。
server {
listen 80;#监听的是80端口
#自动创建索引,如果为off,那么nginx就会给首页403错误,但要是知道了文件的具体路径,那么还是可以访问的
#意思是你访问的时候,会把文件夹下的东西以目录的形式像你展示,例如下载软件的服务器,他就会有各种的软件的目录,当然对于一些js文件什么的,
#我们不想让别人看见,就会设置成off
autoindex on;
server_name btt.com www.btt.com;#线上的域名
access_log /usr/local/nginx/logs/access.log combined;
#默认不输入其他东西,打开首页的顺序
index index.html index.htm index.jsp index.php;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
#如果输入了线上的域名,那么就会跳转到tomcat上
location / {
proxy_pass http://86.10.11.111:8080/;
#add_header Access-Control-Allow-Origin *;
}
}
5、在防火墙上开发端口
6、启动tomcat服务器、与nginx服务器,并访问
7、配置image.btt.com.conf
域名转发到 文件夹上(转发到文件服务器上)
server {
listen 80;
autoindex off;
server_name image.btt.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 /home/ftpfile/img/;
add_header Access-Control-Allow-Origin *;
}
}
在之前搭建的文件服务器上 创建img文件夹 并存放图片
重启nginx服务器与ftp文件服务器
访问并验证