香港服务器香港服务器租用

如何在Linux中从源码包安装NGINX?

Nginx网络服务器是最著名的网络服务器之一,几乎不需要任何介绍。它是一个非常快速的轻量级应用程序,不仅可以作为Web服务器,还可以作为缓存服务器、HTTP代理/反向代理、邮件代理以及负载平衡器。
在本教程中,我们将学习如何在Linux上从源码安装Nginx,即在Ubuntu(特别是20.04)和CentOS(特别是7)上安装。首先,我们先从安装先决条件开始。
先决条件
对于Ubuntu
在从源码编译nginx之前,我们需要在Ubuntu系统上安装以下包:
$ sudo apt-get install -y curl build-essential make gcc libpcre3 libpcre3-dev libpcre++-dev zlib1g-dev libbz2-dev libxslt1-dev libxml2-dev libgd2-xpm-dev libgeoip-dev libgoogle-perftools-dev libperl-dev libssl-dev libcurl4-openssl-dev libatomic-ops-dev
对于CentOS
我们需要安装以下CentOS系统的包:
$ yum install gcc zlib-devel openssl-devel make pcre-devel libxml2-devel libxslt-devel libgcrypt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel
现在我们可以从源码包安装nginx了。
从源代码安装Nginx
对于Ubuntu和CentOS,从源代码包安装nginx都是相似的。因此,请遵循以下步骤。
首先,我们需要将最新的稳定软件包下载到我们的系统(当前为V-1.18.0)上。使用以下命令下载它,
$ wget https://nginx.org/download/nginx-1.18.0.tar.gz
现在解压缩tar文件,
$ tar zxf nginx-1.18.0.tar.gz
$ cd nginx-1.18.0
下一步是使用以下命令编译软件包:
$ ./configure \

–user=root \

–group=root \

–prefix=/etc/nginx \

–sbin-path=/usr/sbin/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 \

–pid-path=/var/run/nginx.pid \

–lock-path=/var/run/nginx.lock \

–http-client-body-temp-path=/var/cache/nginx/client_temp \

–http-proxy-temp-path=/var/cache/nginx/proxy_temp \

–http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \

–http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \

–http-scgi-temp-path=/var/cache/nginx/scgi_temp \

–with-select_module \

–with-poll_module \

–with-threads \

–with-file-aio \

–with-http_ssl_module \

–with-http_v2_module \

–with-http_realip_module \

–with-http_addition_module \

–with-http_xslt_module \

–with-http_xslt_module=dynamic \

–with-http_image_filter_module \

–with-http_image_filter_module=dynamic \

–with-http_geoip_module \

–with-http_geoip_module=dynamic \

–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-http_perl_module \

–with-http_perl_module=dynamic \

–with-mail \

–with-mail=dynamic \

–with-mail_ssl_module \

–with-stream \

–with-stream=dynamic \

–with-stream_ssl_module \

–with-stream_realip_module \

–with-stream_geoip_module \

–with-stream_geoip_module=dynamic \

–with-stream_ssl_preread_module \

–with-google_perftools_module \

–with-cpp_test_module \

–with-compat \

–with-pcre \

–with-pcre-jit \

–with-zlib-asm=CPU \

–with-libatomic \

–with-debug \

–with-ld-opt=”-Wl,-E”
注意:-在这里,我们使用“User”和“Group”用作“root”,但我们也可以创建一个专用用户并使用它。
注意:-在Ubuntu上运行此命令之前,我们可能需要添加'sudo'。
现在,运行以下命令以完成安装,
$ make
$ make install
注意:-为Ubuntu OS添加'sudo'。
这将在Linux上从源代码安装nginx。现在我们需要创建启动服务,以便我们可以使用systemctl管理该服务。
1、为Ubuntu创建服务文件
要创建服务文件Ubuntu,请运行以下命令,
$ vi /lib/systemd/system/nginx.service
并将以下内容添加到文件中,
[Unit]

Description=The NGINX HTTP server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStartPre=/usr/sbin/nginx -t

ExecStart=/usr/sbin/nginx

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target
保存文件并退出。现在,重新加载守护程序服务以加载nginx的服务文件,
$ systemctl daemon-reload
现在我们可以启动nginx服务,
$ systemctl start nginx

2、为CentOS创建服务文件
在CentO上创建以下文件,
$ vi /etc/systemd/system/nginx
并将以下内容添加到文件中,
[Unit]

Description=The NGINX HTTP server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStartPre=/usr/sbin/nginx -t

ExecStart=/usr/sbin/nginx

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target
保存文件并退出。现在,重新加载守护程序服务以加载nginx的服务文件,
$ systemctl daemon-reload
现在我们可以启动nginx服务,
$ systemctl start nginx
这样就完成了有关如何从源代码安装nginx的教程。A5互联https://www.a5idc.net/

posted @ 2020-09-14 11:37  A5互联  阅读(288)  评论(0编辑  收藏  举报
江苏镇江高防服务器BGP云服务器