Nginx源码包形式安装

参数 含义
--prefix 指定安装的目录
--user 运行nginx的worker子进程的属主
--group 运行nginx的worker子进程的属组
--pid-path 存放进程运行pid文件的路径
--conf-path 配置文件nginx.conf的存放路径
--error-log-path 错误日志error.log的存放路径
--http-log-path 访问日志access.log的存放路径
--with-pcre pcre库的存放路径,正则表达式会用到
--with-zlib zlib库的存放路径,gzip模块会用到

内置参数默认原则

  • --with
    • 默认是不内置(显示加上)
  • --without
    • 默认内置(显示去掉)

首先去下载源码包

  • nginx-1.18.tar.gz
  • pcre-8.44.tar.gz
  • zlib-1.2.11.tar.gz
  • openssl-1.1.1g.tar.gz

下载到本地后进行解压

  • tar xf nginx-1.18.tar.gz
  • tar xf pcre-8.44.tar.gz
  • tar xf zlib-1.2.11.tar.gz
  • tar xf openssl-1.1.1g.tar.gz

进入解压后的nginx-1.18.0目录

  • cd nginx-1.18.0
  • 输入命令 ./configure --help 可以看到安装时的一些配置参数,可以根据自己的需求来把下面的模块编译进nginx中去(当没编译时没有指定配置参数时 --with开头的代表nginx默认不会编译进nginx的,--without开头的是默认会编译进nginx的

image

开始编译

 输入命令:
 ./configure --prefix=/opt/nginx 
 --conf-path=/opt/nginx/conf/nginx.conf 
 --user=nginx 
 --group=nginx 
 --pid-path=/opt/nginx/pid/nginx.pid 
 --error-log-path=/opt/nginx/logs/error.log 
 --with-pcre=/opt/source_data/pcre-8.44 
 --with-zlib=/opt/source_data/zlib-1.2.11 
 --with-http_ssl_module 
 --with-http_image_filter_module 
 --with-http_stub_status_module 
 --http-log-path=/opt/nginx/logs/access.log

image

  • 上面的过程是检查依赖包是否有安装过,如果没有就会报错提示没有安装那些依赖包
    • 例如:下面gd包就是没有安装,导致上面检查不通过
      image
  • 解决上面检查不通过的办法:安装gd
    • 执行:yum -y install gd gd-devel
  • 出现下面的情况代表已经通过检查了,下一部开始编译了
    image
  • 开始编译:执行命令 make
  • 编译完成之后目录下会多出一个Makefile文件,我们打开看看里面是个啥玩意
    image
  • 上面过程已经编译完成了,接下来就开始安装了,看到上面的图没
    • 执行安装命令: make install
    • 至此就安装完成

最后启动nginx

  • 进入安装目录会看下以下目录,里面有个sbin目录,sbin里面有个nginx二进制启动文件
    • 执行启动命令:/opt/nginx/sbin/nginx
  • 启动时可能会出现下面的问题:原因是:
    • 上面我们配置了--user=nginx 而此时系统中没有nginx这个用户,所以我们要添加nginx用户,执行命令 useradd nginx,再次启动就可以了
    • 注:为什么rpm直接安装也没有nignx用户呢,为什么就可以呢,是因为rpm安装过程中已经稍稍的创建了nginx用户

访问 nginx服务器ip地址

image

posted @ 2021-04-14 14:04  高汤  阅读(155)  评论(0)    收藏  举报