【nginx】nginx编译安装
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编译安装相关推荐
- 初识Nginx及编译安装Nginx
初识Nginx及编译安装Nginx 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...
- nginx重新编译安装mysql_Centos 6.5编译安装Nginx+php+Mysql
说明: 操作系统:CentOS 6.5 64位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 二.配置防火墙,开启80端口.3306端口 vi /etc/sysconf ...
- ubuntu14.04 nginx php编译安装,Ubuntu 14.04 编译安装 Nginx
在Ubuntu 14.04下编译安装 Nginx过程笔记. 下载源码包 nginx 地址: http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到 ...
- 从nginx的编译安装,了解编译安装原理
nginx编译安装过程 https://www.cnblogs.com/liujuncm5/p/6713784.html 1.configure 这一步一般用来生成 Makefile,为下一步的编译做 ...
- nginx如何编译安装mysql_centos系统编译安装nginx+php环境另加独立mysql教程
以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...
- Nginx之一:Nginx的编译安装
一.Nginx简介 官方网址:http://nginx.org/ Nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始, ...
- Linux高级实战部署--LNMP生产环境部署(mysql,nginx,php编译安装,项目部署)
LNMP生产环境部署 一.编译安装 MySQL MySQL 类型 #### 1.MySQL Community Server - MySQL Community Server是社区版本,开源免费,但不 ...
- Nginx的编译安装及基本使用
环境说明:Centos6.6_64.Vmware11和nginx-1.8.0 一.nginx说明 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务 ...
- nginx的编译安装
nginx安装说明 nginx是性能优越的web服务器及负载均衡器,通过编译安装nginx,会更加了解nginx.我们通过编译安装nginx更输入了解nginx nginx 1.18 操作系统 cen ...
- Nginx的编译安装步骤详解
1.关闭防火墙,安装依赖关系包 #关闭防火墙 [root@localhost opt]#systemctl stop firewalld [root@localhost opt]#setenforce ...
最新文章
- 2022最新!基于深度transformer的时间序列异常检测模型
- [导入]还原精灵安装失败!
- 89600 matlab,是德KEYSIGHT N9000B CXA 信号分析仪,多点触控,9 kHz 至 26.5 GHz
- eclipse编码页面中文乱码在哪更改编码?
- 一个CXF集成SPRING的WEBSERVICE完整实例
- ROS : 修改ROS源代码(overlaying package)
- FCFS,SJF,HRRN调度算法
- kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)
- [Project Euler]Problem 1:Multiples of 3 and 5
- 1.转子动力学——引言
- 最新 CCF A 类人工智能会议论文下载汇总 (含2022)
- c51语言编程实验报告,C51单片机实验报告程序.doc
- 体脂的计算Java_简单测试体脂率的两种经验公式
- marlin固件函数解析
- 基于cesium的三维管线系统综述
- JVM调优总结(1)
- 烽火HG680-KA/KB_Hi3798MV310_红外蓝牙语音_开启无线开关_通刷固件包
- Flink Table和SQL的表和视图、Connectors和timestamp数据类型
- Android自定义控件 - 彩虹表盘
- 论文阅读:Densely Connected Pyramid Dehazing Network
热门文章
- Python爬虫:通过爬取CSDN博客信息,学习lxml库与XPath语法
- 王者登陆显示服务器超时,王者荣耀超时登陆解决办法
- 【百度地图】百度地图混淆后导航飞掉
- 联想服务器固态硬盘吗,联想加快度超级硬盘升级服务,他们的固态硬盘比一般的好吗?...
- 【MES】MES多工厂模型探讨
- 代谢组学研究病毒传染性疾病的文献推荐
- android中段落距离,Android中TextView 行间距和段间距设置
- pr实现视频速率改变及倒放
- echarts——折线图
- 《那一世·你我所见的榕桦》·亡灵之歌