Linux上Nginx的安装

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux上Nginx的安装

1 使用Nginx的必备软件


如果要使用Nginx的常用功能,那么首先需要确保该操作系统上至少安装如下软件:


1.1 gcc、g++编译器


ubuntu平台在线安装指令:


sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install libtool


centos平台在线安装指令:


yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++


1.2 PCRE库


PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。


PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。


因为在Nginx配置文件nginx.conf里使用了正则表达式,所以编译时必须把PCRE库编译进Nginx,因为Nginx的HTTP模块要靠它来解析正则表达式。


PCRE库源码包下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/


编译和安装PCRE库相关命令:

tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39/
./configure
make
sudo make install


3 zlib库


zlib是提供数据压缩用的函式库,zlib能使用一个gzip数据头,zlib数据头或者不使用数据头压缩数据。


因为在Nginx配置文件nginx.conf配置了gzip on,并指定了某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,所以编译时必须把zlib库编译进Nginx。


zlib 源码包下载地址:http://zlib.net/zlib-1.2.8.tar.gz


编译和安装zlib库相关命令:


tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure
make
sudo make install


1.4 OpenSSL开发库


OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。


SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持,已经成为Internet上保密通讯的工业标准。


OpenSSL源码包下载地址:https://www.openssl.org/source/


编译和安装OpenSSL开发库相关命令:


tar -zxvf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t/
./config
make
sudo make install


2 Nginx的安装和启动


2.1 编译安装Nginx


Nginx源码包下载地址:http://nginx.org/en/download.html


编译和安装Nginx相关命令:


tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1/
./configure
make
sudo make install


报错:在make和sudo make install这步经常会报错,我在这报了两个错误,已修改完毕,给各位参考


https://blog.csdn.net/weixin_45525272/article/details/107794364


2.2 Nginx的启动和关闭


默认情况下,Nginx被安装在目录/usr/local/nginx中:


其中,其中Nginx的配置文件存放于conf/nginx.conf,bin文件是位于sbin目录下的nginx文件。


1)默认方式启动Nginx服务器


sudo /usr/local/nginx/nginx 


这时,会自动读取配置文件:/usr/local/nginx/conf/nginx.conf


打开浏览器访问此机器的IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已

经安装并运行成功:


2)指定配置文件启动服务器


sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


3)测试配置信息


sudo /usr/local/nginx/sbin/nginx -t
• 1
• 2


4)快速停止服务(不等待直接全部关闭)


sudo /usr/local/nginx/sbin/nginx -s stop
• 1
• 2


5)优雅停止服务(等待进程结束在关闭)


sudo /usr/local/nginx/sbin/nginx -s quit


快速停止服务和优雅停止服务的区别:


当快速停止服务时,worker进程与master进程在收到信号立即退出进程。


当优雅停止服务时,首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。


简单粗暴的停止方法


可以直接发送QUIT信号给master进程来停止服务,其效果与执行-s quit命令时一样的:


sudo kill -s SIGQUIT pid_master


可以通过发送WINCH信号给worker进程来停止服务:


sudo kill -s SIGWINCH pid_worker


6)使运行中的Nginx重读配置项并生效


sudo /usr/local/nginx/sbin/nginx -s reload
或者 sudo kill -s SIGHUP pid_master


2.3 日志文件


默认情况下,Nginx日志文件存放目录:/usr/local/nginx/logs


  • error.log:错误日志,服务器启动出错时可以在此日志查找原因


  • access.log:访问日志,记录客户端连接服务器后一些访问信息


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
6天前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
56 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
2月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
3月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
200 80
|
6天前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
114 0
|
2月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
157 5
|
2月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。