如何在linux中安装nginx,如何在Linux系统中安装Nginx

如何在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开源所需的Makefile来完成。参数描述–prefix=Nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx

–sbin-path=/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请求支持

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值