编程语言   发布时间:2022-06-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

目录

编译安装nginx

1.下载源码包

2.解压源码包

3.进入解压后的文件夹

4.configure配置 --> 生成Makefile文件

5.make编译然后安装

6.启动nginx

通过 configure 与 make 进行编译示意图


为什么要编译安装?

哪里可以获得源码包?

  • 官方提供下载

首先理解这三个概念:

开放源代码:就是程序代码࿰c;写给人类看的东西࿰c;但机器并不认识࿰c;所以无法执行

编译器:将程序代码编译成为机器看得懂的语言࿰c;就类似翻译者的角色

可执行文件:经过编译器变成的二进制程序࿰c;机器看得懂所以可以执行

接下来举例编译安装nginx来讲解这个过程:

编译安装nginx

1.下载源码包

curl -O http://nginx.org/download/nginx-1.19.2.tar.gz

2.解压源码包

tar xf nginx-1.19.2.tar.gz

3.进入解压后的文件夹

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

[root@localhost nginx-1.19.2]# ./configure --Help 可以看相关的帮助

configure 的目的是生成 Makefile 文件

configure 这个脚本会帮我们去检查我们的系统里哪些依赖的软件是否安装࿰c;因为开启某些功能࿰c;是需要其他软件的支持的。

4.configure配置 --> 生成Makefile文件

相关选项及其意义࿰c;以下列举几点使用的࿰c;R_142_11845@an rpm也可以看到  从源代码构建nginx

--prefix=path

指定安装路径

--with-http_ssl_module

开启ssl功能支持https -> 主流

--with-http_realip_module

使用Nginx做负载均衡器的让后端的real server知道是哪个客户机访问过来的

--without-http_gzip_module

不启用gzip压缩功能

--with-pcre

让nginx支持正则表达式

--with-http_stub_status_module          enable ngx_http_stub_status_module 的意思是

  • 开启此功能࿰c;默认情况是没有开启的

--without-http_gzip_module                  disable ngx_http_gzip_module

  • 禁用此功能࿰c;默认情况下是开启的

用命令生成 Makefile 文件(以下图片内容来自鸟哥的Linux私房菜)

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

[root@localhost nginx-1.19.2]# ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_ssl_module --with-pcre --with-stream

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

以上是安装成功的样子࿰c;可以看到我们Makefile制作成功后有个新文件objs

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

5.make编译然后安装

(以下图片内容来自鸟哥的Linux私房菜)

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

@H_311_61@make && make install
# 这两个命令也可以分开敲

成功后进入我们之前指定安装好的路径 ࿰c;配置在conf࿰c;可执行程序在sbin࿰c;日志在logs࿰c;网页在html中

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

6.启动nginx

[root@localhost sbin]# lsof -i:80 # 此时80端口没有监听进程
[root@localhost sbin]# ./nginx # 在当前目录下启动nginx

[root@localhost sbin]#  /usr/local/nginx/sbin # 绝对路径启动nginx
[root@localhost sbin]# lsof -i:80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   4727   root    6u  IPv4  27430      0t0  TCP *:http (LISTEN)
nginx   4728 nobody    6u  IPv4  27430      0t0  TCP *:http (LISTEN)

到这里我们就是安装成功啦࿰c;可以关闭防火墙来web访问一下

[root@localhost sbin]# ./nginx -s stop # 编译安装只能这样关闭nginx

问:一台机器是否可以编译安装多个nginx?是否都可以启动?

  • 可以࿰c;只要不占用同一个端口就可以࿰c;可以再配置文件中修改

通过 configure 与 make 进行编译示意图

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

卸载:删除安装目录࿰c;即直接移除/usr/local/nginx 

升级:以下图片内容来自鸟哥的Linux私房菜

编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx

 

大佬总结

以上是大佬教程为你收集整理的编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx全部内容,希望文章能够帮你解决编译安装——什么是开放源代码、编译器与可执行文件——编译安装nginx所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。