从 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的各项配置信息。
默认的安装方式可能不能满足自己的需要,可以在执行 ./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支持多个域名监听同一个端口,比如80端口,不过这些域名所使用的nginx,必须在同一个nginx下管理,一般是把每个域名一个server配置文件,所有域名的配置文件都放在vhosts目录下。这样的话,一台机器就可以部署多个域名的服务了,如果用两个不同的nginx来监听同一个端口的话,第二个启动的nginx服务将因为端口已经被使用而启动失败。
参考
https://blog.csdn.net/hzb869168467/article/details/110672906