nginx 编译安装及配置解析
一、编译安装
安装插件
安装需要的组件
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
1、gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言
查看gcc版本
gcc -v
ldd --version
安装命令 gcc、gcc-c++
yum -y install gcc gcc-c++
2、pcre、pcre-devel安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
安装命令:
yum install -y pcre pcre-devel
3、zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
安装命令:
yum install -y zlib zlib-devel
4、安装openssl
yum install -y openssl openssl-devel
安装nginx
1、下载nginx安装包并解压
mkdir /software && cd /software
wget http://nginx.org/download/nginx-1.19.9.tar.gz
tar -zxvf nginx-1.19.9.tar.gz
cd nginx-1.19.9.tar.gz
2、编译并安装
检查环境配置环境,默认配置路径在/user/local/nginx
./configure --prefix=/usr/local/nginx

也可以自定义路径
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
执行安装
make&&make install
3、配置文件并启动
切换到/usr/local/nginx主目录

配置文件 vim conf/nginx.conf
启动nginx
cd /usr/local/nginx/sbin/
./nginx
启停检查语法
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -t
4、检查访问主页
防火墙添加80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
web端访问ip

二、nginx服务启动
nginx启动脚本
# chkconfig: 2345 85 15
# description:Nginx Server NGINX_HOME=/usr/local/nginx
NGINX_SBIN=$NGINX_HOME/sbin/nginx
NGINX_CONF=$NGINX_HOME/conf/nginx.conf
NGINX_PID=$NGINX_HOME/logs/nginx.pid NGINX_NAME="Nginx" . /etc/rc.d/init.d/functions if [ ! -f $NGINX_SBIN ]
then
echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "
exit
fi start() {
$NGINX_SBIN -c $NGINX_CONF
ret=$?
if [ $ret -eq 0 ]; then
action $"Starting $NGINX_NAME: " /bin/true
else
action $"Starting $NGINX_NAME: " /bin/false
fi
} stop() {
kill `cat $NGINX_PID`
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $NGINX_NAME: " /bin/true
else
action $"Stopping $NGINX_NAME: " /bin/false
fi
} restart() {
stop
start
} check() {
$NGINX_SBIN -c $NGINX_CONF -t
} reload() {
kill -HUP `cat $NGINX_PID` && echo "reload success!"
} relog() {
kill -USR1 `cat $NGINX_PID` && echo "relog success!"
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
check|chk)
check
;;
status)
status -p $NGINX_PID
;;
reload)
reload
;;
relog)
relog
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"
exit 1
esac
启动Nginx:start nginx
快速停止或关闭Nginx:nginx -s stop
正常停止或关闭Nginx:nginx -s quit
配置文件修改重装载命令:nginx -s reload
三、安装nginx遇到的问题
已经安装gblic版本 2.17-324.el7.9.x86_64版本太高 需要降级

查看当前rpm安装版本
rpm -qa |grep glibc

解决方法:挂载iso镜像 添加本地yum仓库
降低版本,再查看
yum clean all && yum makecache
yum downgrade glibc glibc-devel glibc-common glibc-headers
rpm -qa |grep glibc

安装gblic版本 2.17-317.el7.9.x86_64就可以继续了
nginx 编译安装及配置解析的更多相关文章
- nginx编译安装以及配置tcp转发
依赖包安装 yum -y install gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl open ...
- [nginx]编译安装及安全优化
nginx配置-最后整理版 nginx_upstream_check_module nginx-module-vts nginx打补丁 nginx编译安装 - 下载 cd /usr/local/src ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- nginx编译安装支持lua脚本
一.准备编译环境 1.操作系统:CentOS7.6 2.安装编译所需安装包 yum install gcc pcre pcre-devel zlib zlib-devel openssl openss ...
- nginx的安装与配置
1.nginx的安装与配置 编译安装nginx需要实现安装开发包组“Development tools”和“Server Platform Development”.“Desktop Platform ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...
- Nginx编译安装lua-nginx-module
lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器. 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/s ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- Nginx编译安装第三方模块http_substitutions_filter_module2222
Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...
- Nginx编译安装第三方模块http_substitutions_filter_module
Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术 作者:rming 时间:-- . >>ngx_http_substitu ...
随机推荐
- Java语言的动态性支持
一.脚本语言的支持 JSR 223中规范了在Java虚拟机上运行的脚本语言与Java程序之间的交互方式.JSR 233是JavaSE6的一部分,在Java表中API中的包是javax.scri ...
- Linux C/C++编程中的多线程编程基本概念
8.2.1 操作系统和多线程 要在应用程序中实现多线程,必须有操作系统的支持.Linux 32位或64位操作系统对应用程序提供了多线程的支持,所以Windows NT/2000/XP/7/8/10是 ...
- ZCMU-1053
比较简单记录一下主要感觉它这个题目没说清楚,题目要求:先有n,接着给出长度为n的标准组,然后给出猜测组,输出的两个数一个是有多少个是相对应的既相同坐标其数值也相同,后一个是两个都有但是位置不同(不含已 ...
- canvas实例:绚丽小球
1.思路分析 监听页面尺寸变化(防抖),动态设置canvas大小 监听鼠标移动事件(节流),动态创建小球,小球包含大小,原点坐标,移动方向等信息,其内部方法支持移动和缩小 开启定时器,更新画布内容(清 ...
- AE错误代码
错误代码 错误描述 错误名称 HRESULT:0x80040201 "Failed to load a resource (string, icon, bitmap, etc)." ...
- Spring框架IoC核心详解
介绍 IoC(Inversion of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现.IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理,由S ...
- 从FTP到Feem:文件传输技术的革新
Feem是一个开源的文件传输协议,旨在提供高效.安全.快速的文件传输服务.与传统的FTP和HTTP协议相比,Feem具有许多优势,如支持任意大小的文件传输.支持实时传输和断点续传等. Feem_v4. ...
- 使用nvm管理node版本,动态切换不同版本的node(解决安装报错)
使用nvm管理node版本,动态切换不同版本的node 1. 下载nvm安装包 下载地址,点这里进行下载 往下拉,选择 nvm-setup.zip 安装包 2. 安装nvm 注: 安装nvm之前,卸载 ...
- 题解:P11007 『STA - R7』Odtlcsu
有个很显然的结论,题目中的 $x$ 与 $y$ 奇偶性相同. 有个更简单的证明,奇数的平方为奇数,偶数的平方为偶数,所以 $x$ 与 $y$ 奇偶性相同. 思路就显而易见了,考虑构造一个长度为 $y$ ...
- How to Disable SELinux in Ubuntu Server/Desktop
https://www.configserverfirewall.com/ubuntu-linux/disable-selinux-ubuntu/ In this tutorial I will ex ...