当前位置: 首页 > news >正文

Nginx源码安装

文章目录

      • Nginx源码安装
        • 安装pcre库
        • 安装openssl库
        • 创建用户及用户组
        • 安装编译环境
        • 解压文件
        • 检测环境
        • 重要目录
        • 检查
        • 配置服务启动脚本
        • 查看效果:

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 librarynginx 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.servicesed  -i 's/^SELINUX=enforcing/SELINUX=Permissive/' /etc/selinux/config

image-20230803232451633

http://www.lryc.cn/news/108466.html

相关文章:

  • 【数据结构和算法】--N叉树返回根节点到目标节点的路径
  • Flutter环境搭建踩坑集锦
  • WPF上位机7——MySql
  • Linux的基本指令(2)
  • mySql-Linux-安装
  • JS实现IOS标准时间(JSON时间格式)格式转yyyy-mm-dd格式
  • 【Jmeter】 Report Dashboard 生成html图形测试报告
  • 7种有效安全的网页抓取方法,如何避免被禁止?
  • flask服务生成证书文件,采用https访问,开启用户密码验证
  • 上海首个“零工”就业云平台上线
  • 面试必考精华版Leetcode104. 二叉树的最大深度
  • winform panel中放置 usercontrol ,设置usercontrol随着dpi分辨率变化
  • 更新页面无法回显
  • CS 144 Lab Four -- the TCP connection
  • 在Volo.Abp微服务中使用SignalR
  • 数据可视化(七)常用图表的绘制
  • 【ARM 常见汇编指令学习 8 - dsb sy 指令及 dsb 参数介绍】
  • YOLOv5本地模型训练报错解决
  • tomcat p12证书另存为nginx .crt证书和.key私钥
  • Docker的userland-proxy
  • uniapp封装request请求
  • Go如何构建高效API接口| 青训营
  • 【云原生K8s】二进制部署单master K8s+etcd集群
  • TRUNC(截取)函数的用法
  • IELAB-网络工程师的路由答疑10问(1)
  • OpenLayers入门,OpenLayers加载TopoJson数据,使用行政区划边界作为示例
  • 【图像去噪】基于原始对偶算法优化的TV-L1模型进行图像去噪研究(Matlab代码实现)
  • RISC-V基础之函数调用(五)函数递归调用及函数参数数量溢出(超出现有寄存器个数)约定(包含实例)
  • 力扣:48. 旋转图像(Python3)
  • HarmonyOS应用开发者基础与高级认证题库——中级篇