如何在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来完成。
还要太多编译参数我就不一一列举,有兴趣的同学可以自己去
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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。