如何在Linux系统中安装Nginx

2022年 10月 16日 发表评论

云产品最新活动点击抢腾讯云3/5年服务器限量秒杀名额续费贵、升级贵,建议选配置高、长期的云产品PS:幻兽帕鲁十分火热:点击了解阿里云帕鲁服务器自建教程点击了解腾讯云帕鲁服务器自建教程

如何在Linux系统中安装Nginx?很多新手对此不是很清楚。为了帮助您解决这个问题,本站将在下面向您详细解释。有这方面需求的人可以借鉴一下,希望你能有所收获。

什么是Linux系统

Linux是一个类似Unix的操作系统,可以自由使用和自由传播。它是一个基于POSIX的多用户、多任务、多线程、多CPU的操作系统。Linux可以运行主要的UNIX工具软件、应用程序和网络协议。

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

在Ubuntu/Debian系统中

sudo apt-getinstallengix或RedHat/CentOS系统

Sudoyuminstallnginx是最简单快捷的方法,但不是最好的方法。先说这个主要问题。

优点

所有的安装二进制依赖都已经被处理过了,所以不要担心兼容性问题,并使用它们

Nginx的连接配置和用户权限不需要处理。我已经为你写了这篇文章

不用担心Nginx Bug维护升级,直接获取最新的系统即可

卸载很简单,直接一个命令

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

缺点

您不能独立选择安装版本

不能独立选择已编译的模块

扩展函数变得很麻烦,需要重新编译

目标类的结构比较复杂,配置文件在/etc/下,部署文件在/var/www下

重新启动服务和修改配置需要Root权限

编译和安装性能差

如果你是Linux新手,肯定建议这样安装。直接安装后就可以使用了,不用考虑编译依赖。但是,如果您的服务器用于生产环境正在开发和逐步改善的过程中,则不建议使用此方法。将来可能会添加第三方模块,它们必须被编译和安装(如下所述)。重新启动服务器,时,不要使用root用户,而是使用sudo短暂地获得root用户。如果你的服务器是用来部署一些静态文件的,主要是腾出一些web空间,并且通常使用ftp工具来部署文件,这样就不会有问题了。

编译安装

优缺点,我就不写了,基本上上面颠倒了。如果用这种方法安装,一定要对Linux编译略知一二,让中等Linux用户来控制。我在网上看过大部分教程,直接在/usr/local/里安装编译依赖并不好。如果以后要卸载这些依赖,会很麻烦。不能直接在目标类下删除。在某些Linux发行版中,您会将安装文件写入配置文件。我不知道在哪里可以找到这些配置文件。如果依赖版本影响其他软件,如何处理版本问题。我们只是想安装Nginx,但是遇到了很多问题。

编译环境准备

开始之前,确保你的Linux有gcc,make,wget,g软件。

创建一个目标类来存储下载的文件,并输入目录来下载相关库的源文件

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

Wgethttps://www.openssl.org/source/openssl-1.0.2s.tar.gz下载pcre以支持地址重定向、地址重写、本地化指令和正则表达式

Wgethttps://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz下载zlib gzip压缩模块

Wgethttps://zlib.net/zlib-1.2.11.tar.gz下载Nginx

Wgethttp://nginx.org/download/nginx-1.17.1.tar.gz用焦油提取所有文件

编译选项

使用。/configure为各种Nginx参数设置脚本,包括源文件和配置文件路径、编译器选项、连接处理方法和模块列表。该脚本创建编译后的代码,并安装Nginx开源所需的Makefi

le来完成。

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

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

nginx官网参看

编译安装

./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

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

Configurationsummary  +usingPCRElibrary:../pcre-8.43  +usingOpenSSLlibrary:../openssl-1.0.2s  +usingzliblibrary:../zlib-1.2.11  nginxpathprefix:"/home/admin/nginx"  nginxbinaryfile:"/home/admin/nginx/sbin/nginx"  nginxmodulespath:"/home/admin/nginx/modules"  nginxconfigurationprefix:"/home/admin/nginx/conf"  nginxconfigurationfile:"/home/admin/nginx/conf/nginx.conf"  nginxpidfile:"/home/admin/nginx/logs/nginx.pid"  nginxerrorlogfile:"/home/admin/nginx/logs/error.log"  nginxhttpaccesslogfile:"/home/admin/nginx/logs/access.log"  nginxhttpclientrequestbodytemporaryfiles:"client_body_temp"  nginxhttpproxytemporaryfiles:"proxy_temp"  nginxhttpfastcgitemporaryfiles:"fastcgi_temp"  nginxhttpuwsgitemporaryfiles:"uwsgi_temp"  nginxhttpscgitemporaryfiles:"scgi_temp"

编译

make

安装

makeinstall

设置权限

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

sudochownrootnginx  sudochmodu+snginx

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: