nginx源码编译安装及使用

一、基本安装

从 nginx官方下载页下载所需要的稳定版本nginx源码后,只需要执行以下命令即可(以 nginx-1.22.0 为例)

wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -xvf nginx-1.22.0.tar.gz
cd nginx-1.22.0
./configure
make
sudo make install

其中在执行完 ./configure 指令后,会有以下输出,显示了默认情况下 nginx可执行文件、配置文件、日志文件位置这些重要信息。

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/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"

安装的时候没有注意上面的信息也没关系,可以通过执行 nginx -V 指令获得当前nginx的各项配置信息。

二、自定义安装

2.1 ./configure 参数

默认的安装方式可能不能满足自己的需要,可以在执行 ./configure 指令时设定参数,来满足实际所需

–prefix=PATH:Nginx安装部署后的根目录,默认为/usr/local/nginx。这个目标的设置会影响其他参数中的相对目录。例如:如果设置了–sbin-path=sbin/nginx,那么实际上可执行文件会被放到/usr/local/nginx/sbin/nginx中

–sbin-path=PATH:可执行文件的放置路径。默认为/sbin/nginx

–conf-path=PATH:配置文件的放置路径。默认为/conf/nginx.conf

–error-log-path=PATH:error日志文件的放置路径,默认为/logs/error.log

–pid-path=PATH:pid文件的存放路径。以ASCII码存放Nginx master的进程ID,在使用命令行式(例如nginx -s reload)通过读取master进程ID向master进程发送信号时,才能对运行中Nginx服务产生作用,默认为/logs/nginx.pid

–lock-path=PATH:lock文件的放置路径,默认为/logs/nginx.lock
–builddir=DIR:configure执行时与编译期间产生的临时文件放置的目录,包括产生的Makefile、C源文件、目标文件、可执行文件等。默认为/objs

–with-http_perl_module:
–with-http_perl_module=dynamic:
–with-perl_modules_path=PATH:perl模块放置的路径,只有使用第三方perl模块才需要配置此路径。
–with-perl=PATH:perl二进制放置路径。如果配置的Nginx会执行Perl脚本,那么必须要设置此路径
–http-log-path=PATH:access日志放置的位置。每一个HTTP请求在结束时都会记录的访问日志。默认为/logs/access.log
–http-client-body-temp-path=PATH:处理HTTP请求时如果请求的包体需要暂时存放到临时磁盘文件中,则把这样的临时文件放置到该路径下。默认为/client_body_temp

–http-proxy-temp-path=PATH:Nginx作为HTTP反向代理服务器时,上游服务器产生的HTTP包体需要临时存放到磁盘文件的路径。默认为/proxy_temp

–http-fastcgi-temp-path=PATH:Fastcgi所使用临时文件的放置目录,默认为/fastcgi_temp
–http-uwsgi-temp-path=PATH:uWSGI所使用临时文件的放置目录,默认为/uwsgi_temp
–http-scgi-temp-path=PATH:SCGI所使用临时文件的放置目录,默认为/scgi_temp

三、nginx使用

3.1 多个域名监听同一个端口

nginx支持多个域名监听同一个端口,比如80端口,不过这些域名所使用的nginx,必须在同一个nginx下管理,一般是把每个域名一个server配置文件,所有域名的配置文件都放在vhosts目录下。这样的话,一台机器就可以部署多个域名的服务了,如果用两个不同的nginx来监听同一个端口的话,第二个启动的nginx服务将因为端口已经被使用而启动失败。

参考
https://blog.csdn.net/hzb869168467/article/details/110672906

你可能感兴趣的:(中间件,nginx,服务器)