编译安装——什么是开放源代码编译器与可执行文件——编译安装nginx
Posted xiaoxie_coding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译安装——什么是开放源代码编译器与可执行文件——编译安装nginx相关的知识,希望对你有一定的参考价值。
目录
4.configure配置 --> 生成Makefile文件
为什么要编译安装?
-
自己决定功能的多少
- 可以指定安装路径
哪里可以获得源码包?
- 官方提供下载
首先理解这三个概念:
开放源代码:就是程序代码,写给人类看的东西,但机器并不认识,所以无法执行
编译器:将程序代码编译成为机器看得懂的语言,就类似翻译者的角色
可执行文件:经过编译器变成的二进制程序,机器看得懂所以可以执行
接下来举例编译安装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.进入解压后的文件夹
[root@localhost nginx-1.19.2]# ./configure --help 可以看相关的帮助 configure 的目的是生成 Makefile 文件 configure 这个脚本会帮我们去检查我们的系统里哪些依赖的软件是否安装,因为开启某些功能,是需要其他软件的支持的。 |
4.configure配置 --> 生成Makefile文件
相关选项及其意义,以下列举几点使用的,man rpm也可以看到 从源代码构建nginx
|
|
|
|
|
|
|
|
|
|
--with-http_stub_status_module enable ngx_http_stub_status_module 的意思是
- 开启此功能,默认情况是没有开启的
--without-http_gzip_module disable ngx_http_gzip_module
- 禁用此功能,默认情况下是开启的
用命令生成 Makefile 文件(以下图片内容来自鸟哥的Linux私房菜)
[root@localhost nginx-1.19.2]# ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_ssl_module --with-pcre --with-stream
以上是安装成功的样子,可以看到我们Makefile制作成功后有个新文件objs
5.make编译然后安装
(以下图片内容来自鸟哥的Linux私房菜)
make && make install
# 这两个命令也可以分开敲
成功后进入我们之前指定安装好的路径 ,配置在conf,可执行程序在sbin,日志在logs,网页在html中
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)
到这里我们就是安装成功啦,可以关闭防火墙来web访问一下
[root@localhost sbin]# ./nginx -s stop # 编译安装只能这样关闭nginx
问:一台机器是否可以编译安装多个nginx?是否都可以启动?
- 可以,只要不占用同一个端口就可以,可以再配置文件中修改
通过 configure 与 make 进行编译示意图
卸载:删除安装目录,即直接移除/usr/local/nginx
升级:以下图片内容来自鸟哥的Linux私房菜
以上是关于编译安装——什么是开放源代码编译器与可执行文件——编译安装nginx的主要内容,如果未能解决你的问题,请参考以下文章
2018-04-26 《鸟哥的Linux私房菜 基础学习篇(第四版)》 第21章 软件安装_原始码与Tarball 笔记