Nginx源码安装

Nginx源码安装

本实验基于RHEL73.10.0-327.el7.x86_64,尽量使用RHEL7或CentOS7。

安装pcre库

安装 pere 库是为了使 Nginx 支持具备 URI 重写功能的 rewrite 模块,如果不安装 pere 库,则Nginx无法使用该模块。

yum install -y pcre-devel
安装openssl库

防止安装过程中报错。

yum install -y openssl-devel
创建用户及用户组
groupadd -g 958 nginx
useradd  -u 956 -g 958 -c "Nginx User" -s /sbin/nologin nginx
安装编译环境
yum install gcc gcc-c++ make
解压文件
tar zxvf nginx-1.22.0.tar.gz -C /usr/local/src/
drwxr-xr-x. 8 1001 1001 4096 May 24  2022 nginx-1.22.0
检测环境

执行nginx目录下的configure脚本

./configure 
#检查汇总
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + 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"
#然后
make
#再
make install
重要目录
[root@nginx nginx]# tree -d -L 1
.
├── client_body_temp 
├── conf #配置文件存放
├── fastcgi_temp
├── html #工作目录,等价于apache /var/www/html
├── logs #日志文件及pid文件
├── proxy_temp
├── sbin #启动脚本存放目录
├── scgi_temp
└── uwsgi_temp
检查
#查看Nginx版本
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.22.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) 
configure arguments:
#启动Nginx
/usr/local/nginx/sbin/nginx
#查看监听端口
netstat -lnutp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      33728/nginx: master
配置服务启动脚本
vim /usr/lib/systemd/system/nginx.service
#Contents
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid #这里的pidFile一定要和配置汇总里的对应。
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)"

[Install]
WantedBy=multi-user.target
#检查
systemctl daemon-reload
#在使用systemctl启动前记得杀死nginx的进程,不然重启会失败。详细可以看错误日志。
systemctl restart nginx.service
netstat -lnutp| grep 80
tcp      0    0 0.0.0.0:80        0.0.0.0:*         LISTEN      70435/nginx: master 

至此Nginx源码安装完成。

查看效果:
#因为我这边虚拟机没有安装界面所以只能在物理机上访问,所以防护墙必须关。
systemctl stop firewalld.service

sed  -i 's/^SELINUX=enforcing/SELINUX=Permissive/' /etc/selinux/config

image-20230803232451633

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值