赞
踩
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。其特点包括占有内存少、并发能力强,因此在同类型的网页服务器中表现较好。Nginx由俄罗斯的程序设计师Igor Sysoev开发,并在一个BSD-like协议下发行。它不仅可以作为一个HTTP服务器进行网站的发布处理,还可以作为反向代理进行负载均衡的实现。此外,Nginx还可以作为虚拟主机,实现在一台服务器上虚拟出多个网站。中国大陆使用Nginx的网站用户包括百度、京东、新浪、网易、腾讯、淘宝等。
Nginx相较于其他服务器软件如Apache和lighttpd,具有占有内存少、稳定性高等优势,并且依靠其强大的并发能力、丰富的模块库以及友好灵活的配置而备受青睐。在Linux操作系统下,Nginx使用epoll事件模型,因此在该操作系统下效率相当高。
总的来说,Nginx是一个功能强大的服务器软件,可用于提供HTTP服务、实现虚拟主机、反向代理和负载均衡等多种功能,是许多大型网站和应用的首选服务器软件。
Nginx具有多种功能,以下是其主要功能的详细解释:
首先,你需要安装 Nginx 编译所需的依赖库。这些库可能因你的 Linux 发行版而异。以下是一些常见的依赖库:
- yum install gcc
- yum install pcre-devel
- yum install zlib zlib-devel
- yum install openssl openssl-devel
安装过程中
注意:以下操作目录为 /usr/local
方法一:下载地址:
nginx: downloadhttp://nginx.org/en/download.html,下载后传到服务器中;
方法二:通过wget直接下载
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz
进入解压目录:
cd nginx-1.20.2
基本编译:
./configure
以上源码编译的规则如下所示
这些./configure命令选项是用于配置和编译Nginx源代码的参数。Nginx是一个高性能的HTTP和反向代理服务器,邮件代理服务器,以及通用的TCP/UDP代理服务器。下面是每个选项的详细解释:
--prefix=/usr/share/nginx: 设置Nginx安装的基本目录前缀。
--sbin-path=/usr/sbin/nginx: 设置nginx可执行文件的路径。
--modules-path=/usr/lib/nginx/modules: 设置动态加载模块的路径。
--conf-path=/etc/nginx/nginx.conf: 设置主配置文件的路径。
--error-log-path=/var/log/nginx/error.log: 设置错误日志的路径。
--http-log-path=/var/log/nginx/access.log: 设置访问日志的路径。
以下是与模块相关的选项:
--with-pcre: 使用PCRE库来支持正则表达式的处理。
HTTP模块:
--with-http_ssl_module: 启用SSL支持。
--with-http_realip_module: 启用获取真实客户端IP的模块。
--with-http_addition_module: 启用在响应中添加文本或变量的模块。
--with-http_sub_module: 启用在响应中替换文本的模块。
--with-http_dav_module: 启用WebDAV支持。
--with-http_flv_module: 启用对FLV流媒体的支持。
--with-http_mp4_module: 启用对MP4流媒体的支持。
--with-http_gunzip_module: 启用解压响应的模块。
--with-http_gzip_static_module: 启用对预压缩文件的支持。
--with-http_random_index_module: 启用从目录中随机选择索引文件。
--with-http_secure_link_module: 启用生成和检查安全链接的模块。
--with-http_stub_status_module: 启用获取Nginx状态信息的模块。
--with-http_auth_request_module: 启用基于子请求实现用户认证的模块。
其他模块:
--with-threads: 启用线程池支持。
--with-stream: 启用TCP/UDP代理模块。
--with-stream_ssl_module: 启用在stream模块中使用SSL。
--with-stream_realip_module: 在stream模块中启用获取真实客户端IP的功能。
--with-stream_geoip_module: 在stream模块中启用GeoIP支持。
--with-http_slice_module: 启用响应切片支持。
邮件模块:
--with-mail: 启用邮件代理模块。
--with-mail_ssl_module: 在邮件模块中启用SSL支持。
性能选项:
--with-file-aio: 启用异步文件I/O支持。
--with-http_v2_module: 启用HTTP/2支持。
make && make install
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
操作目录:/usr/local/nginx/sbin
cd /usr/local/nginx/sbin
启动
./nginx
关闭
./nginx -s stop
注意:如果启动不了,出现以下情况
则需要关闭防火墙
在你的主机电脑上输入你的虚拟机IP地址就可以直接进入此页面,应为我们配置的nginx.conf中使用的端口是默认端口80,所以不需要输入端口号就可以直接进入
为什么编写systemd单元文件管理nginx服务
系统初始化与启动:
systemd是Linux系统(特别是较新的发行版)的初始化系统和服务管理器。它负责在系统启动时启动服务,并在系统关闭时停止服务。通过为Nginx编写systemd单元文件,可以确保Nginx在系统启动时自动启动,并在系统关闭时正确停止。
依赖管理:
systemd允许定义服务之间的依赖关系。例如,如果Nginx依赖于某个数据库服务,你可以在Nginx的systemd单元文件中定义这种依赖,确保数据库服务在Nginx之前启动。
日志记录:
systemd提供了强大的日志记录功能,可以记录服务的启动、停止和任何错误。通过systemd管理Nginx,你可以轻松访问这些日志,以便快速诊断问题。
资源限制:
systemd允许你为服务设置资源限制,如CPU、内存和文件描述符的使用量。这对于管理大型Nginx部署或限制潜在的资源滥用非常有用。
重载配置:
systemd允许在不重启服务的情况下重载配置。对于Nginx这样的服务来说,这是一个非常有用的功能,因为你可以在不中断现有连接的情况下应用新的配置更改。
监控和通知:
systemd可以与多种监控工具集成,以便在系统或服务出现问题时发送通知。这使得管理员能够迅速响应并解决潜在问题。
标准化管理:
使用systemd单元文件来管理Nginx可以确保你的服务管理策略在整个系统中保持一致。这有助于减少配置错误,并使系统更容易维护。
进入系统目录:
- cd /usr/lib/systemd/system/
-
编写nginx.service:
vim nginx.service
内容如下:
- Description=nginx - high performance web server
- After=network.target remote-fs.target nss-lookup.target
- [Service]
- Type=forking
- ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- ExecReload=/usr/local/nginx/sbin/nginx -s reload
- ExecStop=/usr/local/nginx/sbin/nginx -s stop
- [Install]
- WantedBy=multi-user.target
注意:ExecStart、ExecReload、ExecStop需要指定到nginx的实际安装目录
例:
执行命令:
- systemctl daemon-reload
- # 开启自启
- systemctl enable nginx.service
- # 启动、重启、停止
- systemctl start|reload|stop nginx
————————————————
本文章参考
原文链接:https://blog.csdn.net/zhuocailing3390/article/details/122250271
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。