专栏首页运维猫Nginx反向代理

Nginx反向代理

Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能。

一、安装依赖包

yuminstall-y gccgcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  依赖包说明:

1、编译依赖 gcc 环境,所以需要:gcc gcc-c++;

2、PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,所以需要:pcre pcre-devel ;

3、zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库,所以需要:zlib zlib-devel ;

4、OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库,所以需要:openssl openssl-devel ;

二、从官网下载安装包

wgethttps://nginx.org/download/nginx-1.16.0.tar.gz

三、解压并安装

tarzxvf nginx-1.16.0.tar.gz

cd nginx-1.16.0

./configure --prefix=/usr/local/nginx —user=www —group=www

make&&makeinstall

四、测试安装是否成功

[root@localhost ~]# nginx -V

nginx version: nginx/1.16.0

built bygcc4.8.520150623(Red Hat4.8.5-36) (GCC)

configure arguments:--prefix=/usr/local/nginx

五、启动nginx服务

cd /usr/local/nginx/sbin

./nginx

六、验证服务是否启动成功

[root@localhost sbin]# netstat -ntlp |grepnginx

tcp 0 00.0.0.0:80 0.0.0.0:* LISTEN 349/nginx: master

七、访问一下

[root@localhost sbin]# curl 172.17.1.151

<!DOCTYPE html>

<html>

<head>

<title>Welcome to nginx!</title>

<style>

body {

width: 35em;

margin: 0 auto;

font-family: Tahoma, Verdana, Arial, sans-serif;

}

</style>

</head>

<body>

<h1>Welcome to nginx!</h1>

<p>If you see this page, the nginx web server is successfully installed and

working. Further configuration is required.</p>

<p>For online documentation and support please refer to

<a href="http://nginx.org/">nginx.org</a>.<br/>

Commercial support is available at

<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>

</body>

</html>

八、下载tomcat

https://tomcat.apache.org/download-80.cgi

解压:

[root@localhost opt]# tar -vxf apache-tomcat-8.5.43.tar

改名:

[root@localhost opt]# mv apache-tomcat-8.5.43 /usr/local/tomcat

[root@localhost opt]# cd /usr/local/tomcat/

[root@localhost tomcat]# ls

bin CONTRIBUTING.md logs RELEASE-NOTES webapps

BUILDING.txt lib NOTICE RUNNING.txt work

conf LICENSE README.md temp

九、配置java环境

[root@localhost tomcat]# yum install java-1.8.0* -y

[root@localhost tomcat]# java -version

openjdk version "1.8.0_212"

OpenJDK Runtime Environment (build 1.8.0_212-b04)

OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

十、启动查看tomcat

[root@localhost bin]# ./startup.sh

Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

十一、tomcat是个java进程

[root@localhost bin]# netstat -tunlp|grep tomcat

[root@localhost bin]# netstat -tunlp|grep java

tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 17248/java

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 17248/java

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 17248/java

http://172.17.1.151:8080

十二、反向代理:之前的注释掉

十三、重启nginx

[root@localhost nginx]# cd sbin/

[root@localhost sbin]# ls

nginx

[root@localhost sbin]# ./nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@localhost sbin]# ./nginx -s reload

十四、访问80端口可以直接访问tomcat

http://172.17.1.151

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

本文分享自微信公众号 - 运维猫(centos15)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [android]android下apk的安装过程

    /********************2016年4月23日更新********************************/

    陶士涵
  • [android] smartimageview&常见的开源代码

    github上搜索开源框架android-smarty-imageview,下载压缩包,拷贝我们之前写的网络图片查看器布局。

    陶士涵
  • [android] android下junit测试框架配置

    我们的业务代码一般是放在一个新的包下面,这个业务类不能够通过右键run as java application,因为android项目只能运行在手机上的dalv...

    陶士涵
  • Tomcat服务器配置详解

    Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来...

    小手冰凉
  • [android] 采用服务录制电话&服务的生命周期

    调用MediaRecorder对象的setAudioSource()方法,设置音频源,

    陶士涵
  • python用递归筛选法求N以内的孪生质数(孪生素数)

    本人最近读完一本书《质数的孤独》,里面讲到孪生质数,就想查一下孪生质数的分布情况。其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做...

    八音弦
  • [android] 常用数据适配器SimpleAdapter

    当我们的列表包含图片和文字信息时,ArrayAdapter就无法实现了,使用SimpleAdapter,activity中findViewById()获取到Li...

    陶士涵
  • 讲真,下次打死我也不敢随便改serialVersionUID了

    序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。类通过实现 java.io.Serializable 接口以启用其序列化功能。

    黄泽杰
  • 基于java的直线型接口测试框架初探

    在使用java语言作为接口测试的过程中,发现java语言的简洁性的确不如脚本语言,如python,很多功能python一行代码几个方法就能搞定,java需要几行...

    八音弦
  • [android] 采用断点调试的方式观察pull解析的流程

    当程序出现错误的时候,界面出不来,这个时候就需要调试技巧,描述这个程序在哪个地方出现的问题。在你认为可能出错的代码部分,左侧的行号栏点击打断点,在项目目录右键 ...

    陶士涵

扫码关注云+社区

领取腾讯云代金券