0

0

Linux中安装Nginx实例分析

WBOY

WBOY

发布时间:2023-05-22 08:46:05

|

1586人浏览过

|

来源于亿速云

转载

使用系统二进制源方式安装

在ubuntu/debian系

sudo apt-get install nginx

或者redhat/centos系

sudo yum install nginx

这种方式最简单的,最快捷的方式,但是不是最好的方式,下面我们来说这种主要问题。

优点

  • 所有安装二进制依赖已经处理好了,不用担心兼容性问题,开箱即用

  • nginx的连接配置,用户权限这个都不用处理,已经帮你写好这块了

  • 不用担心nginx bug维护升级问题,直接获取最新系统就可以了

  • 卸载简单,直接一个命令即可

  • 日志维护简单,自动截断当天日志,压缩保存

缺点

  • 不能自主选择安装版本

  • 不能自主选择编译的模块

  • 扩展功能变得很麻烦,需要重新编译

  • 目类结构复杂,配置文件在/etc/下,部署文件在/var/www

  • 重启服务,修改配置都需要root权限

  • 性能差一点编译安装

如果你是一个linux新手,绝对推荐使用这中方式安装,不用考虑编译依赖问题,直接安装完就可以使用。但是如果你这个服务器是用于生产环境正在开发逐步完善的过程,不推荐使用这种方式。将来可能会添加第三方模块,到时肯定要编译安装(下面会说到)。在重启服务器的时候,不要使用root用户,而是使用sudo短暂获取root。如果你这条服务器都是用来部署一些静态文件,主要做一些web空间,平常主要用ftp工具部署文件,用这种方式肯定没什么问题的。

编译安装

易优建筑工程集团公司网站源码1.7.1
易优建筑工程集团公司网站源码1.7.1

易优建筑工程集团公司网站源码是基于易优cms开发的,前端页面针对建筑工程施工公司集团的实际需求进行设计,建站行业公司只要通过后台把网站名称、栏目名称、图片替换一下就可以制作属于自己的网站了。前端页面截图 网站首页 项目展示 集团资讯 联系我们项目案例 安装环境要求:操作系统:Linux/Unix/Windows软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL

下载

优缺点,我就不写了,基本就是上面的颠倒过来就可以了。使用这种方法安装,都必须懂一点linux编译知识,linux中度用户才可以驾驭。我看见网上大多数教程,都是将编译依赖直接装在/usr/local/这种方式并不好。如果将来我们要卸载这些依赖,发现非常麻烦。并不是直接在目类下直接删除就可以完事的,有些linux发行版本,会将安装文件,写入配置文件中,这些配置文件有不知道哪里找。如果依赖版本影响到其他软件,怎么处理版本问题。我们只想安装nginx,结果延申出一大堆问题。

编译环境准备

在开始之前,保证你的linux准备了gcc、make、wget,g++ 这些软件。

创建一个目类用来存放下载文件,进入目录中下载依赖库源文件

下载openssl主要用于ssl模块加密,支持htps

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz

下载pcre来实现对地址重定向,地址重写功能和localtion指令以及正则表达式的支持

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz

下载zlib gzip压缩模块

wget https://zlib.net/zlib-1.2.11.tar.gz

下载nginx

wget http://nginx.org/download/nginx-1.17.1.tar.gz

使用tar 解压所有的文件

ls *.tar.gz | xargs -n1 tar xzvf

编译选项

使用./configure设置各种nginx参数的脚本,包括源和配置文件的路径,编译器选项,连接处理方法和模块列表。该脚本通过创建编译代码和安装nginx开源所需的makefile来完成。

参数 描述
–prefix= nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=nginx二进制执行文件的名称,默认值:
/sbin/nginx
–conf-path=nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:
 conf / nginx.conf-c 
–pid-path=nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:
 /logs/nginx.pid
–error-log-path=error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:
 /logs/error.log
–http-log-path=http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:
 /logs/access.log
–user=nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody
–group=namenginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值
–with-pcre=pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的
–with-pcre-jit使用“即时编译”支持(pcre_jit指令)构建pcre库
–with-zlib=zlib库的源代码路径,gzip模块需要该路径
–with-http_ssl_modul启用https支持
–with-http_v2_module开启 http/2请求支持

还要太多编译参数我就不一一列举,有兴趣的同学可以自己去

参看

编译安装

./configure \
  --with-openssl=../openssl-1.0.2s \
  --with-pcre=../pcre-8.43 \
  --with-zlib=../zlib-1.2.11 \
  --with-pcre-jit --user=admin \
  --prefix=/home/admin/nginx \
  --with-http_ssl_module \
  --with-http_v2_module

输出以下信息,说明依赖没问题

configuration summary
 + using pcre library: ../pcre-8.43
 + using openssl library: ../openssl-1.0.2s
 + using zlib library: ../zlib-1.2.11
 
 nginx path prefix: "/home/admin/nginx"
 nginx binary file: "/home/admin/nginx/sbin/nginx"
 nginx modules path: "/home/admin/nginx/modules"
 nginx configuration prefix: "/home/admin/nginx/conf"
 nginx configuration file: "/home/admin/nginx/conf/nginx.conf"
 nginx pid file: "/home/admin/nginx/logs/nginx.pid"
 nginx error log file: "/home/admin/nginx/logs/error.log"
 nginx http access log file: "/home/admin/nginx/logs/access.log"
 nginx http client request body temporary files: "client_body_temp"
 nginx http proxy temporary files: "proxy_temp"
 nginx http fastcgi temporary files: "fastcgi_temp"
 nginx http uwsgi temporary files: "uwsgi_temp"
 nginx http scgi temporary files: "scgi_temp"

编译

make

安装

make install

设置权限

因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。

sudo chown root nginx
sudo chmod u+s nginx

相关文章

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号