Nginx源码编译安装过程记录

 更新时间:2021年11月11日 14:18:14   作者:途次早行客  
本文给大家分享Nginx源码编译安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

rpm包安装比较简单,这里不做说明。
对于大多数开源软件,如果找不到安装包,可以使用源码安装方式,源码安装虽然没有yum、apt等工具方便,但是非常通用,在不同架构的cpu、不同操作系统的服务器上都可以使用这种方式。
使用源码编译安装的一般方式,通常是去github上搜索对应的软件名称,找到源码,选择适合的版本之后,查看源码目录下的readme.md文件(在github上这个文件其实就是这个源码的说明文档),如果readme.md里面没有介绍编译安装或者构建工程的步骤的说明,也会指明在哪里可以获得对应的文档。也有部分软件的构建文档是写在一个名为INSTALL的文件中的,如果readme.md文档没有构建说明,可以尝试去寻找INSTALL文件。

对于C语言的软件,通常源码编译的步骤为:
./configure 
make 
make install
通常./congfigure命令根据服务器cpu的架构和操作系统检查编译环境,例如需要的依赖组件和库文件是否安装,也可以通过参数指定安装位置和一些配置项
make命令可以通过-j参数指定cpu的核数,使用的核越多编译速度越快,例如对于8核的服务器,可以使用make -j8来加快编译速度
make install进行软件安装

对于nginx,源码编译安装步骤如下:
wget https://nginx.org/download/nginx-1.14.2.tar.gz
tar -xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2

./configure -prefix=/usr/local/nginx -with-http_ssl_module
make -j8
make install

/usr/local/nginx/sbin/nginx –v
在./configure时指定了安装目录为/usr/local/nginx,所以安装后nginx命令在这个目录下

如果需要部署静态页面例如html,将静态文件资源上传至/usr/local/nginx/html/目录下。
编辑nginx配置文件/usr/local/nginx/conf/nginx.conf,将第二行的用户修改为root,或者是当前用户。vim文本编辑其中输入:set nu可以显示行数。

取消第2行的注释并将nobody修改为root:

如果web应用需要支持上传文件,需要设置上传文件的上限,在18行添加:

client_max_body_size 100m;、

如果需要修改静态资源的访问端口,在37行修改即可,例如设置为8081:

 

 如果需要支持请求转发(比如在静态资源中访问后端接口,访问/api的请求都转发到端口18080上的应用),在49行添加以下内容:

location /chat/api{
            proxy_pass http://127.0.0.1:18080/api;
            proxy_redirect off;
            proxy_set_header   Host                 $http_host;
            proxy_set_header   X-Real-IP            $remote_addr;
            proxy_set_header   X-Forwarded-For      $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto    $scheme;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection 'upgrade';
	}

 上文配置即将所有访问路径中包含/chat/api/的请求都转发到http://127.0.0.1:18080/api,其中chat是部署的静态资源目录,最后两行配置是用于支持websocket连接的,即ws协议。

通过这样的配置,就可以做到web应用的前后端分离,即前端静态资源部署在8081端口,后端资源部署在18080端口。部署好之后,只需要启动nginx和18080端口上的应用即可正常访问web应用。

到此这篇关于Nginx源码编译安装的文章就介绍到这了,更多相关Nginx源码编译安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx 反向代理与负载均衡运行小结

    Nginx 反向代理与负载均衡运行小结

    Nginx还支持对后端服务器进行健康检查,当某个服务器不可用时,Nginx会自动将流量重定向到其他可用的服务器,这篇文章给大家分享Nginx 反向代理与负载均衡是如何运行的,感兴趣的朋友一起看看吧
    2024-03-03
  • nginx代理转发配置小结

    nginx代理转发配置小结

    Nginx配置代理转发是常见需求,涉及编辑nginx.conf文件,添加location块并配置proxy_pass指令指向后端服务器,感兴趣的可以了解一下
    2024-10-10
  • Nginx配置如何区分PC或手机访问不同域名

    Nginx配置如何区分PC或手机访问不同域名

    这篇文章主要介绍了Nginx配置如何区分PC或手机访问不同域名,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 隐藏Nginx版本号的最简单的方法

    隐藏Nginx版本号的最简单的方法

    这篇文章主要介绍了隐藏Nginx版本号的最简单的方法,对外隐藏Nginx版本号有利于维护服务器安全,需要的朋友可以参考下
    2015-04-04
  • 详解Nginx 虚拟主机配置的三种方式(基于端口)

    详解Nginx 虚拟主机配置的三种方式(基于端口)

    Nginx配置虚拟主机支持3种方式主要有基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置。本篇文章主要介绍了基于端口的实现,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Nginx中IF、AND、OR语句用法实例

    Nginx中IF、AND、OR语句用法实例

    这篇文章主要介绍了Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法,需要的朋友可以参考下
    2015-02-02
  • Nginx添加ipv6模块以及遇到问题解决方案详解(亲测有效)

    Nginx添加ipv6模块以及遇到问题解决方案详解(亲测有效)

    IPV4日益稀缺,ipv6已经慢慢走上日程,待ipv6在国内普及,使用nginx配置ipv6那是肯定的,下面这篇文章主要给大家介绍了关于Nginx添加ipv6模块以及遇到问题的解决方案,需要的朋友可以参考下
    2022-09-09
  • Nginx反向代理入门实战指南

    Nginx反向代理入门实战指南

    反向代理:反向代理也叫reverse proxy,指的是代理外网用户的请求到内部的指定web服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式,下面这篇文章主要给大家介绍了关于Nginx反向代理的相关资料,需要的朋友可以参考下
    2021-08-08
  • docker nginx实现一个主机部署多个站点操作

    docker nginx实现一个主机部署多个站点操作

    这篇文章主要介绍了docker nginx实现一个主机部署多个站点操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • HTTP 499 状态码 nginx下 499错误的解决办法

    HTTP 499 状态码 nginx下 499错误的解决办法

    HTTP状态码出现499错误有多种情况,499错误是什么?Nginx 499错误的原因及解决方法,下面跟着脚本之家小编一起学习吧
    2016-06-06

最新评论