nginx编译安装

  • nginx介绍
  • 为什么要使用编译安装
  • 编译安装详细步骤
    • 解决软件的依赖关系,需要安装相关软件包
    • 新建管理nginx的用户和组
    • 下载并解压nginx
    • 配置自己所需要的nginx的功能和相关配置
    • 检查前期工作
    • 编译安装
    • 修改环境变量
    • 关闭防火墙和selinux
    • 设置开机自启
    • 根据自己的要求修改配置文件
    • 启动nginx
  • 查看服务是否启动
    • 查看进程
    • 查看端口
    • 访问服务

nginx介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其特性占有内存少,并发能力强,稳定性好,有丰富的功能集和低系统资源的消耗。
官方文档:http://nginx.org/

为什么要使用编译安装

编译安装可以自定义选择需要的模块,不需要的模块可以不添加,这样性能更高,安全性、稳定性也更高。

编译安装详细步骤

解决软件的依赖关系,需要安装相关软件包

yum install epel* -y
yum -y install wget make zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake psmisc net-tools lsof vim geoip geoip-devel
  • epel源:Linux操作系统提供额外的软件包
  • wget:用来从指定的URL下载文件
  • make:用来编译的,它从Makefile中读取指令,然后编译
  • zlib,zlib-devel:提供数据压缩用的函式库
  • openssl,openssl-devel:开源的安全套接字层的密码库
  • pcre,pcre-devel:perl语言兼容正则表达式
  • gcc,gcc-c++:C/C++编译器
  • autoconf:一个产生可以自动配置源代码包,生成shell脚本的工具
  • automake:一个自动产生Makefile 文件的软件
  • psmisc:一个关于进程相关的软件扩展包
  • net-tools:网络工具包
  • lsof:一个列出当前系统打开文件的工具
  • geoip,geoip-devel:通过来访者的IP定位他的经纬度,国家/地区,省市的库

新建管理nginx的用户和组

id  pp || useradd pp -s /sbin/nologin

下载并解压nginx

#下载nginx软件
mkdir  /pp -p
cd /pp
wget  http://nginx.org/download/nginx-1.21.1.tar.gz#解压软件
tar xf nginx-1.21.1.tar.gz

配置自己所需要的nginx的功能和相关配置

#进入解压后的文件夹
cd nginx-1.21.1
./configure --prefix=/usr/local/scpp  --user=pp --group=pp  --with-http_ssl_module   --with-threads  --with-http_v2_module  --with-http_stub_status_module  --with-stream  --with-http_geoip_module --with-http_realip_module
  • –prefix=/usr/local/scpp:nginx编译安装的目录
  • –user=pp :管理nginx的用户
  • –group=pp 管理nginx的组
  • –with-http_ssl_module:启用https支持
  • –with-threads :启用thread pool支持
  • –with-http_v2_module: 启用ngx_http_v2_module支持
  • –with-http_stub_status_module: 支持查看nginx的状态页
  • –with-stream:负载均衡
  • –with-http_geoip_module :编译的MaxMind数据库解析客户端IP地址的模块
  • –with-http_realip_module :在nginx访问日志中去除代理IP,显示客户的真实IP

检查前期工作

#如果上面的编译前的配置失败,直接退出脚本
if (( $? != 0));thenexit
fi

编译安装

#编译
make -j 2
#编译安装
make  install

修改环境变量

#修改PATH变量
echo  "PATH=$PATH:/usr/local/scpp/sbin" >>/root/.bashrc
#执行修改了环境变量的脚本
source /root/.bashrc

关闭防火墙和selinux

#stop firewall和设置下次开机不启动firewalld
service firewalld stop
systemctl disable firewalld#临时停止selinux和永久停止selinux
setenforce 0
sed  -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

设置开机自启

#开机启动
chmod +x /etc/rc.d/rc.local
echo  "/usr/local/scpp/sbin/nginx" >>/etc/rc.local

根据自己的要求修改配置文件

#修改nginx.conf的配置,例如:端口号,worker进程数,线程数,服务域名sed  -i '/worker_processes/ s/1/2/' /usr/local/scpp/conf/nginx.conf
sed  -i  '/worker_connections/ s/1024/2048/' /usr/local/scpp/conf/nginx.conf
sed  -i -r '37c \\tserver_name www.pp.com;' /usr/local/scpp/conf/nginx.conf

启动nginx

#启动nginx
/usr/local/scpp/sbin/nginx

查看服务是否启动

查看进程

ps aux|grep nginx

查看端口

方法一:

netstat -anplut|grep nginx


方法二:

lsof -i:80

访问服务

【nginx】nginx编译安装相关推荐

  1. 初识Nginx及编译安装Nginx

    初识Nginx及编译安装Nginx 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...

  2. nginx重新编译安装mysql_Centos 6.5编译安装Nginx+php+Mysql

    说明: 操作系统:CentOS 6.5 64位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 二.配置防火墙,开启80端口.3306端口 vi /etc/sysconf ...

  3. ubuntu14.04 nginx php编译安装,Ubuntu 14.04 编译安装 Nginx

    在Ubuntu 14.04下编译安装 Nginx过程笔记. 下载源码包 nginx 地址: http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到 ...

  4. 从nginx的编译安装,了解编译安装原理

    nginx编译安装过程 https://www.cnblogs.com/liujuncm5/p/6713784.html 1.configure 这一步一般用来生成 Makefile,为下一步的编译做 ...

  5. nginx如何编译安装mysql_centos系统编译安装nginx+php环境另加独立mysql教程

    以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...

  6. Nginx之一:Nginx的编译安装

    一.Nginx简介 官方网址:http://nginx.org/ Nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始, ...

  7. Linux高级实战部署--LNMP生产环境部署(mysql,nginx,php编译安装,项目部署)

    LNMP生产环境部署 一.编译安装 MySQL MySQL 类型 #### 1.MySQL Community Server - MySQL Community Server是社区版本,开源免费,但不 ...

  8. Nginx的编译安装及基本使用

    环境说明:Centos6.6_64.Vmware11和nginx-1.8.0 一.nginx说明 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务 ...

  9. nginx的编译安装

    nginx安装说明 nginx是性能优越的web服务器及负载均衡器,通过编译安装nginx,会更加了解nginx.我们通过编译安装nginx更输入了解nginx nginx 1.18 操作系统 cen ...

  10. Nginx的编译安装步骤详解

    1.关闭防火墙,安装依赖关系包 #关闭防火墙 [root@localhost opt]#systemctl stop firewalld [root@localhost opt]#setenforce ...

最新文章

  1. 2022最新!基于深度transformer的时间序列异常检测模型
  2. [导入]还原精灵安装失败!
  3. 89600 matlab,是德KEYSIGHT N9000B CXA 信号分析仪,多点触控,9 kHz 至 26.5 GHz
  4. eclipse编码页面中文乱码在哪更改编码?
  5. 一个CXF集成SPRING的WEBSERVICE完整实例
  6. ROS : 修改ROS源代码(overlaying package)
  7. FCFS,SJF,HRRN调度算法
  8. kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)
  9. [Project Euler]Problem 1:Multiples of 3 and 5
  10. 1.转子动力学——引言
  11. 最新 CCF A 类人工智能会议论文下载汇总 (含2022)
  12. c51语言编程实验报告,C51单片机实验报告程序.doc
  13. 体脂的计算Java_简单测试体脂率的两种经验公式
  14. marlin固件函数解析
  15. 基于cesium的三维管线系统综述
  16. JVM调优总结(1)
  17. 烽火HG680-KA/KB_Hi3798MV310_红外蓝牙语音_开启无线开关_通刷固件包
  18. Flink Table和SQL的表和视图、Connectors和timestamp数据类型
  19. Android自定义控件 - 彩虹表盘
  20. 论文阅读:Densely Connected Pyramid Dehazing Network

热门文章

  1. Python爬虫:通过爬取CSDN博客信息,学习lxml库与XPath语法
  2. 王者登陆显示服务器超时,王者荣耀超时登陆解决办法
  3. 【百度地图】百度地图混淆后导航飞掉
  4. 联想服务器固态硬盘吗,联想加快度超级硬盘升级服务,他们的固态硬盘比一般的好吗?...
  5. 【MES】MES多工厂模型探讨
  6. 代谢组学研究病毒传染性疾病的文献推荐
  7. android中段落距离,Android中TextView 行间距和段间距设置
  8. pr实现视频速率改变及倒放
  9. echarts——折线图
  10. 《那一世·你我所见的榕桦》·亡灵之歌