【Nginx】编译安装(Centos)

下载编译包

https://nginx.org/download/nginx-1.24.0.tar.gz

解压: tar -zxvf nginx-1.24.0.tar.gz

进入目录: nginx-1.24.0

配置

./configure --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module

如果不加扩展模块就直接执行: ./configure

提示缺少:rewrite

./configure: error: the HTTP rewrite module requires the PCRE library

安装: sudo yum install pcre pcre-devel

提示缺少: OpenSSL

./configure: error: SSL modules require the OpenSSL library.

You can either do not enable the modules, or install the OpenSSL library

into the system, or build the OpenSSL library statically from the source

with nginx by using --with-openssl=<path> option.

然后安装:

yum install openssl

yum install openssl-devel

然后执行:

./configure --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module

成功了:

creating objs/Makefile (生成了编译配置文件,)

Configuration summary

  • using system PCRE library

  • using system OpenSSL library

  • using system zlib library

---生成了一堆配置

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"

编译

确保安装了gcc,然后

make

安装

[root@master01 nginx-1.24.0]# make install

make -f objs/Makefile install

make[1]: Entering directory `/root/soft/nginx-1.24.0'

test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'

test -d '/usr/local/nginx/sbin' \

|| mkdir -p '/usr/local/nginx/sbin'

test ! -f '/usr/local/nginx/sbin/nginx' \

|| mv '/usr/local/nginx/sbin/nginx' \

'/usr/local/nginx/sbin/nginx.old'

cp objs/nginx '/usr/local/nginx/sbin/nginx'

test -d '/usr/local/nginx/conf' \

|| mkdir -p '/usr/local/nginx/conf'

cp conf/koi-win '/usr/local/nginx/conf'

cp conf/koi-utf '/usr/local/nginx/conf'

cp conf/win-utf '/usr/local/nginx/conf'

test -f '/usr/local/nginx/conf/mime.types' \

|| cp conf/mime.types '/usr/local/nginx/conf'

cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'

test -f '/usr/local/nginx/conf/fastcgi_params' \

|| cp conf/fastcgi_params '/usr/local/nginx/conf'

cp conf/fastcgi_params \

'/usr/local/nginx/conf/fastcgi_params.default'

test -f '/usr/local/nginx/conf/fastcgi.conf' \

|| cp conf/fastcgi.conf '/usr/local/nginx/conf'

cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'

test -f '/usr/local/nginx/conf/uwsgi_params' \

|| cp conf/uwsgi_params '/usr/local/nginx/conf'

cp conf/uwsgi_params \

'/usr/local/nginx/conf/uwsgi_params.default'

test -f '/usr/local/nginx/conf/scgi_params' \

|| cp conf/scgi_params '/usr/local/nginx/conf'

cp conf/scgi_params \

'/usr/local/nginx/conf/scgi_params.default'

test -f '/usr/local/nginx/conf/nginx.conf' \

|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'

cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'

test -d '/usr/local/nginx/logs' \

|| mkdir -p '/usr/local/nginx/logs'

test -d '/usr/local/nginx/logs' \

|| mkdir -p '/usr/local/nginx/logs'

test -d '/usr/local/nginx/html' \

|| cp -R html '/usr/local/nginx'

test -d '/usr/local/nginx/logs' \

|| mkdir -p '/usr/local/nginx/logs'

make[1]: Leaving directory `/root/soft/nginx-1.24.0'

查看安装目录

复制代码
whereis nginx

启动

cd /usr/local/nginx/sbin/

./nginx

启动结果

ps -aux | grep nginx

root@master01 sbin\]# ./nginx \[root@master01 sbin\]# ps -aux \| grep nginx root 30808 0.0 0.0 46136 956 ? Ss 17:33 0:00 nginx: master process ./nginx nobody 30809 0.0 0.0 48672 3780 ? S 17:33 0:00 nginx: worker process root 30828 0.0 0.0 112820 2308 pts/2 S+ 17:33 0:00 grep --color=auto nginx Nginx 在启动时,默认情况下会使用一个主进程(master process)和多个工作进程(worker processes)。主进程通常以 root 用户权限运行,以便能够绑定到特权端口(如 80 和 443),而工作进程则通常以一个非特权用户(如 nobody)的身份运行,以提高安全性。 如何更改工作进程的用户 vi /etc/nginx/nginx.conf 把: user nobody; 改成xxxx 然后启动后就是 woker进程就是xxx用户组 ## 一些配置介绍 proxy_temp_file_write_size属性。属性作用:当你访问资源信息超过该参数设置的大小时,nginx会先将文件写入临时目录(这里是:/var/lib/nginx/tmp)。 ,如果使用root用户执行nginx -t命令,则会导致临时文件(fastcgi、scgi、uwsgi、client_body、proxy)目录权限所有者被更改为nobody client_body_temp、fastcgi_temp、proxy_temp、scgi_temp、uwsgi_temp

相关推荐
yBmZlQzJ9 小时前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
Shanxun Liao9 小时前
Cenots 7.9 配置多台 SSH 互信登陆免密码
linux·运维·ssh
j_xxx404_9 小时前
Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
linux·运维·服务器
一点晖光9 小时前
jenkins优化记录
运维·jenkins
最贪吃的虎10 小时前
Git: rebase vs merge
java·运维·git·后端·mysql
yBmZlQzJ10 小时前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
DeepHacking10 小时前
Overleaf 本地Docker部署
运维·docker·容器
llilian_1611 小时前
总线授时卡 CPCI总线授时卡的工作原理及应用场景介绍 CPCI总线校时卡
运维·单片机·其他·自动化
乐迪信息11 小时前
乐迪信息:煤矿皮带区域安全管控:人员违规闯入智能识别
大数据·运维·人工智能·物联网·安全
好好生活_11 小时前
【Docker基础学习】从VM虚拟机到Docker
运维·docker