Nginx源码编译安装

介绍:

Nginx是一个高性能的HTTP和反向代理服务器,以及IMAP、POP3、SMTP代理服务器。它是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,首个公开版本于2004年10月4日发布。Nginx以事件驱动的方式编写,具有非常好的性能,并且它也是一个高效的反向代理服务器和负载均衡服务器。

官网:https://nginx.org/

目录

介绍:

Nginx源码编译安装配置:

浏览器进入nginx页面:

常见的问题及解决:

编写systemd单元文件管理nginx服务,以便在任何目录下都可以使用nginx命令


Nginx源码编译安装配置:

1.下载和安装

在Nginx的官网的下载页面中(http://nginx.org/en/download.html),就展示了当前Nginx版本,并提供了下载的连接。 如下:

下载Stable version这个版本,这个版本是最新稳定版。

2.安装依赖包

由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。

命令:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

下载wget命令:yum install wget

下载nginx安装包:wget https://nginx.org/download/nginx-1.22.1.tar.gz

解压:tar -zxvf nginx-1.22.1.tar.gz

3.配置Nginx编译环境

--prefix 指定的目录是我们安装nginx的目录

即:/usr/local/nginx

4.编译和安装

make 和 make install 是Linux开发套件中常用的命令,主要用于自动化编译和安装程序。

命令:make & make install

5.目录结构

进入安装目录(/usr/local/nginx)输入tree命令

没有tree命令需要进行安装,安装命令:sudo yum install tree

6.查看Nginx是否成功安装

查看版本:

检查配置文件:

启动命令:./nginx

Nginx源码编译安装配置完成啦!

浏览器进入nginx页面:

正常访问需要关闭防火墙:systemctl stop firewalld

进入网址http://ip地址

常见的问题及解决:

  1. 文件权限问题
    • 确保在编译和安装过程中有足够的权限。你可能需要以root用户身份执行某些命令,或者使用sudo来获取必要的权限。
    • 检查文件和目录的权限设置,确保Nginx用户和组对所需的文件和目录具有适当的读写权限。
  2. 配置文件问题
    • 在安装Nginx后,确保正确配置了Nginx的配置文件。默认的配置文件通常位于/usr/local/nginx/conf/nginx.conf。根据你的需求进行必要的修改。
    • 检查配置文件中的语法错误或配置不一致之处。可以使用nginx -t命令来测试配置文件的语法是否正确。
  3. 端口冲突
    • 确保Nginx配置的监听端口没有被其他服务占用。可以使用netstatss命令来检查端口的使用情况。
    • 如果发现端口冲突,需要更改Nginx配置中的监听端口或停止占用该端口的其他服务
    • 使用sudo kill -9<PID>,PID为实际的进程ID,然后在重启nginx服务

编写systemd单元文件管理nginx服务,以便在任何目录下都可以使用nginx命令

在/etc/systemd/system或/usr/lib/systemd/system 目录下创建一个nginx.service文本文件,设置如下内容:

[Unit]

Description=nginx -high performance web server

Documentation=http://nginx.org/en/docs

After-=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

systemctl daemon-reload命令重载配置

systemctl start nginx.service 启动服务

systemctl enable nginx.service 设置开机自启

systemctl status nginx.service 查看nginx服务状态

希望对大家有所帮助!希望各位看官给一个免费的小红心吧!

  • 45
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Nginx 是一个高性能、高并发的开源 Web 服务器,它采用事件驱动的异步非阻塞模型,能够快速处理大量并发请求,而且占用资源较少。为了满足不同需求,一些用户可能需要自己编译安装 Nginx编译安装 Nginx 需要进行以下步骤: 1. 首先,需要下载 Nginx 的源代码包。可以从官方网站(https://nginx.org/)上找到最新版本的源代码包,并下载到本地。 2. 下载完成后,将源代码包解压缩到指定的目录中。 3. 接下来,进入到解压缩后的目录中,执行 `./configure` 命令进行配置。该命令会检查当前系统的环境依赖是否满足,并生成构建 Nginx 的 Makefile 文件。 4. 执行 `make` 命令进行编译。该命令会根据保存在 Makefile 文件中的指令,编译生成可执行文件。 5. 编译完成后,执行 `make install` 命令进行安装。该命令会将编译生成的可执行文件、配置文件和其他必要文件拷贝到指定的目录中。 6. 最后,可以通过启动 Nginx 来验证是否安装成功。执行 `nginx` 命令启动 Nginx,通过访问服务器的 IP 地址或域名,可以在浏览器中看到 Nginx 的欢迎页面。 需要注意的是,在进行源码编译安装之前,应该确保系统环境中已经安装了一些必要的依赖库,如 PCRE(Perl Compatible Regular Expressions,用于处理正则表达式)、zlib(用于处理数据压缩)、OpenSSL(用于提供安全的传输层协议支持)等。 以上是基本的 Nginx 源码编译安装的步骤,具体的配置和安装路径可以根据个人需要进行调整。编译安装可以更灵活地配置和定制 Nginx,满足不同的使用和性能要求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值