C++(Linux下搭建Nginx环境)

2023-12-21 17:39:46

目录

一、安装前提

二、Nginx源码下载以及目录结构简单认识

三、Nginx的编译和安装

四、Nginx的启动和使用


一、安装前提

1、较新的Linux内核版本2.6以上才能够支持。

2、需要安装gcc编译器,g++编译器

//工具包包含了gcc和g++编译器
//Centos中安装
sudo yum groupinstall "Development Tools"

//工具包包含了gcc和g++编译器
//Ubuntu中安装
sudo apt-get install build-essential

3、安装pcre库,因为Nginx的Rewrite模块和HTTP核心模块会使用到pcre正则表达式语法,安装pcre和pcre-devel。

//Centos中安装PCRE:

sudo yum install pcre pcre-devel

//Ubuntu中安装PCRE:

sudo apt-get install libpcre3 libpcre3-dev

4、安装zlib库,它提供了压缩解压缩功能,在Nginx的各种模块中需要使用gzip压缩,安装zlib和zlib-devel。

//Centos中安装zlib:

sudo yum install zlib zlib-devel

//Ubuntu中安装zlib:

sudo apt-get install zlib1g zlib1g-dev

5、安装OpenSSL库,服务器提供安全网页时会用到OpenSSL库,安装openssl和openssl-devel。

//Centos中安装OpenSSL

sudo yum install openssl openssl-devel

//Ubuntu中安装OpenSSL

sudo apt-get install openssl libssl-dev 

二、Nginx源码下载以及目录结构简单认识

1、访问Nginx官网,获取到最新稳定版本(Stable version)下载连接

获取到下载链接:

??????http://nginx.org/download/nginx-1.24.0.tar.gz

?2、在linux中下载Nginx

sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz

3、解压下载好的Nginx包

sudo tar -zxvf nginx-1.24.0.tar.gz?

4、进入解压后的目录,可以看到Nginx已经成功下载并解压了

  • auto目录:编译相关的脚本,可执行文件configure会用到这些脚本

????????????????cc目录:检查编译的脚本

????????????????lib目录:检查依赖库的脚本

? ? ? ? ? ? ? ? os目录:检查操作系统类型的脚本

? ? ? ? ? ? ? ? type目录:检测平台类型的脚本

  • CHANGES文件:bug修复和新增功能说明
  • CHHANGES.ru文件:相当于俄语版的CHANGES文件
  • conf目录:默认的配置文件
  • configure可执行脚本:编译nginx之前必须先执行本脚本以生成一些必要的中间文件
  • contrib目录:里面主要是一些工具和脚本。比较典型的是vim高亮工具,需要拷贝contrib中? ? ? ? ? ? ? ? ? ? ? ? ? ?到本地vim目录(如果根目录没有该目录,先mkdir ~/.vim
  • html目录:里面放的Nginx欢迎界面和错误界面相关的html文件
  • man目录:里面放的关于Nginx帮助文件
  • src目录:非常重要,存放的Nginx源代码

? ? ? ? ? ? ? ? core目录:存放核心代码

? ? ? ? ? ? ? ? event目录:even(事件)模块相关代码

? ? ? ? ? ? ? ? http目录:http(web服务)模块相关代码

? ? ? ? ? ? ? ? mail目录:邮件模块相关代码

? ? ? ? ? ? ? ? misc目录:包括一些测试脚本、文档或其他辅助文件

? ? ? ? ? ? ? ? os目录:操作系统相关代码

? ? ? ? ? ? ? ? stream目录:流处理相关代码

三、Nginx的编译和安装

1、使用configure脚本来进行编译之前的配置工作

执行命令?sudo ./configure

?

?执行之后,会发现多了Makefile文件和objs目录。

objs目录:执行了configure生成的中间文件目录,该目录存在一个名为ngx_modules.c文件,它? ? ? ? ? ? ? ? ? ? ? 决定了编译Nginx的时候有哪些模块会被编译到nginx里面。

Makefile文件:执行了configure脚本生成的编译规则文件 ,执行make命令时用到。

2、使用make命令来编译,生成可执行文件。

sudo make

3、使用make命令开始安装,安装完成后可以在/user/local/目录下看到nginx目录,它默认安装在这个路径下。

sudo make install

?

?

进入到该nignx目录中,会发现四个目录:

  • conf目录:存放配置文件的目录
  • html目录:存放欢迎和错误页面的html的目录
  • logs目录:存放日志文件的目录
  • sbin目录:存放可执行文件的目录

四、Nginx的启动和使用

1、权限进入到sbin目录中,使用sudo ./nginx 命令启动(启动需要管理员权限)

sudo ./nginx

查看是否启动成功

ps -ef|grep nginx

2、可以看到已经启动成功了,下一步查看是否可以正常使用,可以在Windows下的浏览器去访问linux的ip,会出现欢迎页面。如果发现访问不了,使用sudo netstat -ntlp命令查看80端口是否分配给nginx。

如果nginx服务启动和端口一切正常,那么就是防火墙的问题。输入命令:sudo systemctl restart firewalld.service? 重启防火墙

.输入命令 :sudo systemctl stop firewalld.service 关闭防火墙

然后就可以正常访问了。

文章来源:https://blog.csdn.net/qq_56728342/article/details/135124425
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。