Nginx简介

Nginx是什么?

Nginx是一款轻量级Web服务器,也是一款反向代理服务器
官网:http://nginx.org/
中文文档: http://www.nginx.cn/doc/

Nginx能干什么?

Nginx能干的事情很多,这里简要罗列一-些:

  1. 可直接支持Rails和PHP的程序
  2. 可作为HTTP反向代理服务器
  3. 作为负载均衡服务器
  4. 作为邮件代理服务器
  5. 帮助实现前端动静分离

Nginx特点

Nginx安装

Nginx下载

官网下载:http://nginx.org/en/download.html
或者直接在linux执行命令:wget http://nginx.org/download/nginx-1.17.6.tar.gz
这里下载的版本是1.17.6

安装步骤

# 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
# 解压缩
tar -zxvf nginx-1.17.6.tar.gz
cd nginx-1.17.6/
# 执行配置
./configure
# 编译安装(默认安装在/usr/local/nginx)
make
make install

OK,现在可以执行make 了。

执行make、make install命令。

防火墙配置

nginx默认监听80端口,如果未关闭防火墙需要配置iptables规则开放80端口(以centos7为例)。

查看已开放的端口

firewall-cmd --list-ports

开放端口(开放后需要要重启防火墙才生效)

firewall-cmd --zone=public --add-port=3338/tcp --permanent

重启防火墙

firewall-cmd --reload

CentOS 6系统下防火墙设置:

编辑配置文件:vim /etc/sysconfig/iptables
在文件中间添加iptables规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙:service iptables restart
或者关闭iptables规则:iptables -F && iptables -t nat -F

Nginx验证

nginx主配置文件:/usr/local/nginx/conf/nginx.conf
nginx日志文件:/usr/local/nginx/logs/access.log
启动Nginx:/usr/local/nginx/sbin/nginx

指定启动文件启动Nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
然后直接访问ip地址,比如:http://192.168.0.110/,如果能看到如下Nginx主页说明安装ok。

Nginx常用命令

测试配置文件:${Nginx}/sbin/nginx -t
启动命令:${Nginx}/sbin/nginx
停止命令:${Nginx}/sbin/nginx -s stop/quit
重启命令:${Nginx}/sbin/nginx -s reload
查看进程命令:ps -ef | grep nginx
平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)]

Nginx反向代理配置

我们希望实现的是通过访问某个域名能够访问到tomcat的主页。

  1. 在Nginx安装目录的conf目录下新建一个vhost目录,然后在vhost目录下新建配置文件,文件名需要以.conf结尾。
cd /usr/local/nginx/conf/
mkdir vhost
cd vhost/
vim www.silly.com.conf

配置文件添加如下内容,这里server_name配置的是主机对应的域名,如果没有域名可以通过配置host来映射虚拟域名,或者这里直接配置ip地址,然后用ip访问,proxy_pass是反向代理配置。

server {listen 80;autoindex on;server_name www.silly.com;access_log /usr/local/nginx/logs/access.log combined;index index.html index.htm index.jsp index.php;if ( $query_string ~* ".*[\;'\<\>].*" ){return 404;}location / {proxy_pass http://127.0.0.1:8080;add_header Access-Control-Allow-Origin *;}
}
  1. 配置完成之后,编辑Nginx主配置文件nginx.conf,在http节点下添加如下内容,注意分号不可省略。

  1. 因为这里使用的是虚拟机,所以需要配置host文件,注意host配置的应该是我们使用的客户端也就是浏览器所在的主机host,这里使用的是windows系统访问,所以应该在windows下配置host,位置:C://Windows/System32/drivers/etc
    编辑hosts文件,在文件末尾添加内容(虚拟机ip + 需要映射的域名):
    192.168.0.110 http://www.silly.com
  2. 配置好了host后,打开cmd,执行ping命令验证是否生效。

  1. 重启Nginx:/usr/local/nginx/sbin/nginx -s reload
    然后启动tomcat:${tomcat}/bin/startup.sh
  2. 访问域名:http://www.silly.com/,就可以访问到tomcat的主页了。
  3. 指定启动文件启动Nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

总结:整个过程就是当我们访问域名时,首先根据host配置映射到了一个IP地址,也就是访问到了虚拟机,不加端口默认访问的就是80端口,也就是访问到了虚拟机的Nginx,在Nginx配置中对该域名进行了反向代理,代理到了本机的8080端口服务,所以最终就访问到了虚拟机的Tomcat服务器。

参考资料:https://www.cnblogs.com/xxoome/p/5866475.html

https://blog.csdn.net/LYJ_man/article/details/90521915

作者:若汐缘
链接:https://www.jianshu.com/p/9f2c162ac77c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Linux下安装Nginx(实战配置)相关推荐

  1. Linux 下安装Nginx,配置自启动

    https://blog.csdn.net/fukai8350/article/details/80634566

  2. Linux下安装nginx (tar解压版安装) nginx1.16.1

    https://blog.csdn.net/qq_40431100/article/details/104729504 Linux下安装nginx (tar解压版安装) nginx1.16.1 Jkc ...

  3. Linux下安装Nginx详细图解教程

    Linux下安装Nginx详细图解教程 什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SM ...

  4. Linux下安装nginx,启动和重启

    Linux下安装nginx 查看Linux下是否已安装nginx且已启动 安装 重启nginx 查看Linux下是否已安装nginx且已启动 是否安装:find / -name nginx 是否启动: ...

  5. mysql安装设置数据目录下,linux下安装mysql数据+配置

    <linux下安装mysql数据+配置>由会员分享,可在线阅读,更多相关<linux下安装mysql数据+配置(2页珍藏版)>请在人人文库网上搜索. 1.Redhat下安装My ...

  6. 如何在Linux下安装nginx

    如何在Linux下安装nginx 1.http://nginx.org 下载对应平台的安装初始配置文件 2.yum install nginx posted on 2012-07-25 15:41 e ...

  7. Linux下安装Nginx完整教程及常见错误解决方案

    Linux下安装Nginx完整教程及常见错误解决方案 参考文章: (1)Linux下安装Nginx完整教程及常见错误解决方案 (2)https://www.cnblogs.com/chenxiaoch ...

  8. Linux下安装nginx教程

    Linux下安装nginx教程 安装依赖包 #执行一下命令 安装4个依赖包 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl- ...

  9. Linux下安装mysql以及配置用户与数据导入

    Linux下安装mysql以及配置用户与数据导入 yun安装mysql linux下有一个很神奇的东西叫yum,只要有源,用yum来安装是一件非常容易的事,什么都不用管,它会为你解决好一些软件依赖的问 ...

  10. nginx etag php,Linux下安装nginx如何启用ETag

    nginx更新速度杠杠的,不到一年时间就更新了这么多版本了,今天一口气从1.2.3升级到1.8.0.为什么升级?因为nginx提供了ETag功能,对流量控制很有效果. 升级之前特意去查了一下资料,看看 ...

最新文章

  1. 实对称矩阵的性质_浅谈矩阵的相似对角化(一)
  2. 我的2011就这样混掉了
  3. Windows Phone 模拟器(Emulator) 加载程序一闪而过就自动退出的解决办法
  4. 要看懂MATLAB的Help需要积累的英文词汇!
  5. 集合添加数据类型出现:unhashable type: ‘list‘
  6. 慕课网Spark SQL日志分析 - 4.从Hive平滑过渡到Spark SQL
  7. 解决Sqlite中的中文路径问题
  8. mysql不要放docker,Docker从入门到放弃
  9. 小样本点云深度学习库_NeurIPS2019 | MIT与上海交大提出新型点云深度学习框架Point-Voxel CNN...
  10. 字符串 -- 3.15 Length of Last Word -- 图解
  11. Android 特效大全代码资源——源码
  12. linux网络设备驱动之dm9000驱动源码框架解析
  13. 自己组装的台式电脑怎么安装系统教学
  14. 曙光服务器硬盘架,曙光服务器硬盘阵列
  15. 我要自学网python视频教程百度云_180G全套Python视频教程集合
  16. TypeScript实战-04-TS枚举类型
  17. 前端性能优化 —— 前端性能分析
  18. Linux 之 Wine与FQ
  19. oracle11g ora 29927,listagg函数 ORA-01489 result of string concatenation is too long的解决办法 【博森瑞】...
  20. 基础007_FIFO原理

热门文章

  1. C语言中的光标定位函数
  2. AI 大数据在数据隐私保护下如何普惠共享?CCF TF「联邦学习」研讨会给出了答案
  3. 【CZY选讲·最大子矩阵和】
  4. 北京商标纠纷诉讼侵犯注册商标专有权的行为都有什么?
  5. 01-ECAM、发展史、JS值、编程语言、变量
  6. IQueryable和IEnumerable学习
  7. chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记
  8. Python笔记:数据分列
  9. nbiot教学实箱_基于NBIoT的一种智能环卫装置的设计与实现
  10. 微信小程序模板信息【详】