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的)

开始编译
输入命令:
./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

- 上面的过程是检查依赖包是否有安装过,如果没有就会报错提示没有安装那些依赖包
- 例如:下面gd包就是没有安装,导致上面检查不通过
![image]()
- 例如:下面gd包就是没有安装,导致上面检查不通过
- 解决上面检查不通过的办法:安装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地址





浙公网安备 33010602011771号