Nginx源码编译安装过程记录


Posted in Servers onNovember 17, 2021

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:

Nginx源码编译安装过程记录

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

client_max_body_size 100m;、

Nginx源码编译安装过程记录

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

 Nginx源码编译安装过程记录

 如果需要支持请求转发(比如在静态资源中访问后端接口,访问/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';
	}

Nginx源码编译安装过程记录

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

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

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

Servers 相关文章推荐
Nginx访问日志及错误日志参数说明
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
nginx请求限制配置方法
Jul 09 Servers
nginx容器方式反向代理实战
Apr 18 Servers
Tomcat starup.bat 脚本实现开机自启动
Apr 20 Servers
Nginx 安装SSL证书完成HTTPS部署
Apr 28 Servers
配置nginx负载均衡
May 06 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
Apache POI操作批量导入MySQL数据库
Jun 21 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
搭建zabbix监控以及邮件报警的超级详细教学
Jul 15 Servers
Windows Server 2012 R2服务器安装与配置的完整步骤
Jul 15 Servers
Nginx 路由转发和反向代理location配置实现
Nov 11 #Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
You might like
自定义php类(查找/修改)xml文档
2013/03/26 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
提示$ is not defined错误分析及解决
2013/04/09 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
在Python中使用第三方模块的教程
2015/04/27 Python
python+tkinter实现学生管理系统
2019/08/20 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
艺术用品:Arteza
2018/11/25 全球购物
优秀生推荐信范文
2013/11/28 职场文书
求职推荐信范文
2013/12/01 职场文书
初中班主任评语大全
2014/04/24 职场文书
高中生学习计划书
2014/09/15 职场文书
商场收银员岗位职责
2015/04/07 职场文书
面试复试通知单
2015/04/24 职场文书
导游词之河北野三坡
2019/12/11 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers