Home > Operation and Maintenance > Nginx > Analysis of Nginx installation examples in Linux

Analysis of Nginx installation examples in Linux

WBOY
Release: 2023-05-22 08:46:05
forward
1369 people have browsed it

Use the system binary source method to install

On the ubuntu/debian system

sudo apt-get install nginx
Copy after login

or the redhat/centos system

sudo yum install nginx
Copy after login

The method is the simplest and fastest way, but it is not the best way. Let’s talk about this main problem below.

Advantages

  • All installation binary dependencies have been processed, no need to worry about compatibility issues, it can be used out of the box

  • You don’t need to deal with the connection configuration and user permissions of nginx, we have already written this for you

  • Don’t worry about nginx bug maintenance and upgrade issues, just get the latest system directly That’s it

  • Uninstallation is simple, just one command

  • Simple log maintenance, automatically truncate the day’s log, compress and save

Disadvantages

  • Cannot choose the installed version

  • Cannot choose the compiled module independently

  • Extended functions become very troublesome and need to be recompiled

  • The directory structure is complex, the configuration file is under /etc/, and the deployment file is under /var/www

  • Restarting the service and modifying the configuration require root permissions

  • Performance is slightly worse Compile and install

If you are a Linux newbie, it is definitely recommended to use this method of installation. You don’t need to consider compilation dependencies. You can use it directly after installation. But if your server is used in a production environment and is being developed and gradually improved, this method is not recommended. Third-party modules may be added in the future, and they must be compiled and installed at that time (discussed below). When restarting the server, do not use the root user, but use sudo to briefly gain root. If your server is used to deploy some static files, mainly for some web spaces, and usually uses the ftp tool to deploy files, there is definitely no problem with this method.

Compile and install

I won’t write about the advantages and disadvantages. Basically, just reverse the above. To install using this method, you must know a little knowledge about Linux compilation, and only moderate Linux users can control it. I saw that most tutorials on the Internet install the compilation dependencies directly in /usr/local/. This method is not good. If we want to uninstall these dependencies in the future, we will find it very troublesome. You can't just delete it directly under the category. Some Linux distributions will write the installation files into the configuration files. I don't know where to find these configuration files. If a dependent version affects other software, how to deal with version issues. We just wanted to install nginx, but it caused a lot of problems.

Compilation environment preparation

Before you start, make sure your Linux is prepared with gcc, make, wget, g software.

Create a category to store downloaded files, enter the directory to download the dependent library source files

Downloading openssl is mainly used for ssl module encryption and supports https

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
Copy after login

Download pcre to implement support for address redirection, address rewriting functions, localtion instructions and regular expressions

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
Copy after login

Download zlib gzip compression module

wget https://zlib.net/zlib-1.2.11.tar.gz
Copy after login

Download nginx

wget http://nginx.org/download/nginx-1.17.1.tar.gz
Copy after login

Use tar to decompress all files

ls *.tar.gz | xargs -n1 tar xzvf
Copy after login

Compilation options

Use ./configure to set various nginx parameter scripts, including the paths to source and configuration files , compiler options, linkage handling methods and module lists. The script does this by creating the makefiles required to compile the code and install nginx open source.

参数描述
–prefix=nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=nginx二进制执行文件的名称,默认值:/sbin/nginx</td></tr><tr><td>–conf-path=<path></td><td>nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:<prefix> conf / nginx.conf-c <filename></td></tr><tr><td>–pid-path=<path></td><td>nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:<prefix> /logs/nginx.pid</td></tr><tr><td>–error-log-path=<path></td><td>error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:<prefix> /logs/error.log</td></tr><tr><td>–http-log-path=<path></td><td>http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:<prefix> /logs/access.log</td></tr><tr><td>–user=<name></td><td>nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody</td></tr><tr><td>–group=name</td><td>nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值</td></tr><tr><td>–with-pcre=<path></td><td>pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的</td></tr><tr><td>–with-pcre-jit</td><td>使用“即时编译”支持(pcre_jit指令)构建pcre库</td></tr><tr><td>–with-zlib=<path></td><td>zlib库的源代码路径,gzip模块需要该路径</td></tr><tr><td>–with-http_ssl_modul</td><td>启用https支持</td></tr><tr><td>–with-http_v2_module</td><td>开启 http/2请求支持</td></tr></tbody></table><p >还要太多编译参数我就不一一列举,有兴趣的同学可以自己去<br/></p><p >参看</p><p >编译安装<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">./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
Copy after login

输出以下信息,说明依赖没问题

configuration summary
 + using pcre library: ../pcre-8.43
 + using openssl library: ../openssl-1.0.2s
 + using zlib library: ../zlib-1.2.11
 
 nginx path prefix: "/home/admin/nginx"
 nginx binary file: "/home/admin/nginx/sbin/nginx"
 nginx modules path: "/home/admin/nginx/modules"
 nginx configuration prefix: "/home/admin/nginx/conf"
 nginx configuration file: "/home/admin/nginx/conf/nginx.conf"
 nginx pid file: "/home/admin/nginx/logs/nginx.pid"
 nginx error log file: "/home/admin/nginx/logs/error.log"
 nginx http access log file: "/home/admin/nginx/logs/access.log"
 nginx http client request body temporary files: "client_body_temp"
 nginx http proxy temporary files: "proxy_temp"
 nginx http fastcgi temporary files: "fastcgi_temp"
 nginx http uwsgi temporary files: "uwsgi_temp"
 nginx http scgi temporary files: "scgi_temp"
Copy after login

编译

make
Copy after login

安装

make install
Copy after login

设置权限

因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。

sudo chown root nginx
sudo chmod u+s nginx
Copy after login

The above is the detailed content of Analysis of Nginx installation examples in Linux. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template