网站推广策划思路,银川做网站,软件定制开发公司排名,成都网站设计公司电话今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。
一、Nginx是什么#xff1f;
以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器#xff1a;相比…今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。
一、Nginx是什么
以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器相比 ApacheNginx 使用更少的资源支持更多的并发连接体现更高的效率这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器Nginx 既可以在内部直接支持 Rails 和 PHP也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器最早开发这个产品的目的之一也是作为邮件代理服务器Last.fm 描述了成功并且美妙的使用经验。 Nginx 安装非常的简单配置文件 非常简洁还能够支持perl语法Bugs非常少的服务器: Nginx 启动特别容易并且几乎可以做到7*24不间断运行即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。 这是Nginx的优势。
具体能做到什么以及怎么做到还需要后续学习。
Nginx能做什么 基本 HTTP 服务器功能其他 HTTP 服务器功能邮件代理服务器功能TCP/UDP 代理服务器功能 要看更具体的介绍
nginx
Nginx的平台
Nginx支持大部分的常用操作系统尤其是咱们作为服务器使用的系统。
你不仅可以在Ubuntu使用它也可以在CentOsWindows上使用它。是的。你可以就在Windows系统上使用它。你可以访问Nginx官网下载它。
你可以在自己Windows系统上体验它但是如果你想要做点更酷的事情我建议还是使用Ubuntu或者CentOs乃至于WindowsServer等服务器来部署它至少你可以更轻松的让世界上的其他人访问它。
Nginx的功能非常强大值得我们去了解它的细节。
在知道它的功能之后不是说咱们立刻就会用了可以研究其代码阅读它的文档以及一些中文的书籍。
最新的消息你可以访问Nginx官网去了解以下现在Nginx的情况。
nginx news
二、Nginx怎么安装
Nginx事实上支持很多的操作系统有多重安装方式我们来看看怎么个回事。
预先给出下面的链接
github上的Nginx项目。
GitHub - nginx/nginx: The official NGINX Open Source repository.
Windows选择版本下载。
nginx: download
编译安装Nginx的文档
Building nginx from Sources
1、从存储仓库下载安装
在新机器上首次安装 nginx 之前您需要 设置 nginx 包存储库。 之后您可以从存储库安装和更新 nginx。
你可以从官方仓库也可以从Ubuntu软件仓库下载安装。涉及到的知识点不多比较适合我们这样的初学者。
官方源
下载配套工具
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring 这些工具包感兴趣的话可以一个个去了解具体是做什么的。这里简要说明一下
curl用来下载网络资源gnupg2用来校验资源ca-certificates用来校验https证书lsb-release用来获取版本信息ubuntu-keyring用来验证ubuntu软件仓库公钥。
获取签名密钥
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg /dev/null
验证下载的文件是否包含正确密钥
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg 将仓库版本设置为稳定版本
echo deb [signed-by/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu lsb_release -cs nginx \| sudo tee /etc/apt/sources.list.d/nginx.list
命令解释 添加 Nginx 官方仓库这条命令将 Nginx 官方的 APT 仓库添加到系统中具体的仓库地址根据你当前系统的版本自动调整。例如如果你运行的是 Ubuntu 22.04lsb_release -cs 会返回 jammy所以仓库地址将会是 http://nginx.org/packages/ubuntu jammy nginx。 使用指定的签名密钥仓库源中指定的 [signed-by/usr/share/keyrings/nginx-archive-keyring.gpg]确保 APT 包管理器会使用 nginx-archive-keyring.gpg 来验证从 Nginx 官方仓库下载的软件包的签名。 保存仓库地址最终仓库源地址被保存到 /etc/apt/sources.list.d/nginx.list 文件中。APT 包管理器会从这个文件中读取 Nginx 仓库的地址以便安装和更新 Nginx。 其实这里就是对源进行了更换。 也可以设置为主线版本和上面二选一即可。
echo deb [signed-by/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu lsb_release -cs nginx \| sudo tee /etc/apt/sources.list.d/nginx.list
设置仓库优先级
echo -e Package: *\nPin: origin nginx.org\nPin: release onginx\nPin-Priority: 900\n \| sudo tee /etc/apt/preferences.d/99nginx
之后就可以进行常规的安装了
sudo apt update
sudo apt install nginx
Ubuntu软件仓库
如果你从Ubuntu软件仓库下载这将是最简单的一部分。
sudo apt update
sudo apt install nginx
可以使用下述代码检测是否正常工作。
sudo systemctl status nginx 2、代码编译安装
这种手段就和我们Windows平时安装软件一样去官网下载安装包然后安装但是我们下的是源代码需要进行编译。
官网直接下载
当然上面给出的nginx的windows安装链接就是从这里下载不过Ubuntu就麻烦许多了下载下来可不能直接跑哇。 Mainline、Stable 和 Legacy 是 Nginx 官方维护的三个版本分支每个分支都有不同的更新频率和使用场景适用于不同需求的用户。它们的主要区别在于开发阶段、功能和稳定性。 mainline是最活跃的分发版本。是最新的版本可能具有最新的功能也不是一定不稳定。
stable就字面意思理解稳定版本是长期维护或者说当前的稳定版本这个分支不包含最新的功能更新也比较少最重视稳定性和安全性。
legacy版本是旧版本或者说遗留版本与我们使用的目的不同有关提供给需要指定版本的nginx的用户。
下载下来之后你会得到一个压缩包。
这个压缩包解压后可以用来编译代码。 这个包可以在后面用到。 pgp是什么 PGP (Pretty Good Privacy) 是一种广泛使用的加密程序主要用于 加密电子邮件 和 数字签名以保护通信的隐私和真实性。PGP 结合了对称加密和非对称加密并广泛应用于数据加密和解密、身份验证和文件完整性验证。 编译安装
下载工具
在之前建议先更新一下仓库哈
sudo apt-get update
apt-get install build-essential
apt-get install libtool
选定源码目录
cd /usr/local/src 下载最新的 PCRE 源码包使用下面命令下载编译和安装 PCRE 包
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make
make install
下载最新的 zlib 源码包使用下面命令下载编译和安装 zlib
cd /usr/local/srcwget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
安装ssl;
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
Nginx有两个版本分别是稳定版和开发版可以根据你的目的来选择这两个版本的其中一个下面是把 Nginx 安装到/usr/local/nginx 目录下注意这里的wget获取的就是nginx的版本代码包如果你已经下载了其他的版本的代码包可以直接解压你下载好的包。
版本列表
Index of /download/ (nginx.org)
cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
编译选项以及构建最终安装
./configure --sbin-path/usr/local/nginx/nginx \
--conf-path/usr/local/nginx/nginx.conf \
--pid-path/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre/usr/local/src/pcre-8.34 \
--with-zlib/usr/local/src/zlib-1.2.8 \
--with-openssl/usr/local/src/openssl-1.0.1cmake
make install 下面这个更全
./configure \ --with-threads \ --with-file-aio \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_xslt_moduledynamic \ --with-http_image_filter_moduledynamic \ --with-http_geoip_moduledynamic \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_auth_request_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_degradation_module \ --with-http_slice_module \ --with-http_stub_status_module \ --with-streamdynamic \ --with-stream_ssl_module \ --with-stream_realip_module \ --with-stream_geoip_moduledynamic \ --with-stream_ssl_preread_module \ --with-compat \ --with-pcre-jit makemake install
编译的选项可以参照下面链接
从源构建 nginx
自己编译安装会更加自由但是对初学者不是很友好。
三、 检查Nginx状态
检查端口状态
netstat -ano|grep 80
启动nginx
sudo /usr/local/nginx/nginx