centos8平台编译安装nginx1.18.0
一,nginx的官网:
http://nginx.org/
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,下载与解压nginx
1,下载
[root@centos8 source]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
2, 解压缩
[root@centos8 source]# tar -zxvf nginx-1.18.0.tar.gz
三,编译与安装nginx
1,configure
#--prefix 指定安装路径
#--with-http_stub_status_module 允许查看nginx状态的模块
# --with-http_ssl_module 支持https的模块
[root@centos8 nginx-1.18.0]# ./configure --prefix=/usr/local/soft/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module
2,编译并安装
[root@centos8 nginx-1.18.0]# make && make install
四, configure报错的解决
说明:如果相应的软件包已安装不会报错,写在这里供参考
1,问题1,configure提示:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
解决:
[root@os3 nginx-1.18.0]# yum install pcre-devel
2,问题2,configure提示:
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.
解决:
[root@os3 nginx-1.18.0]# yum install openssl openssl-devel
五,测试编译安装的效果:查看nginx的版本
[root@centos8 nginx-1.18.0]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0
六,如何查看nginx的配置编译参数?
[root@centos8 nginx-1.18.0]# /usr/local/soft/nginx-1.18.0/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)
built with OpenSSL 1.1.1c FIPS 28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/usr/local/soft/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module
注意区分和上一条查看版本命令的区别: -v参数分别是小写和大写
七,使systemctl能管理运行nginx服务
1,运行的准备工作:配置日志目录
[root@centos8 conf]# mkdir /data/nginx
[root@centos8 conf]# mkdir /data/nginx/logs
2,运行的准备工作:创建nginx用户
[root@centos8 conf]# groupadd nginx
#-g:指定所属的group
#-s:指定shell,因为它不需要登录,所以用/sbin/nologin
#-M:不创建home目录,因为它不需要登录
[root@centos8 conf]# useradd -g nginx -s /sbin/nologin -M nginx
3,简单配置nginx
[root@centos8 conf]# vi nginx.conf
内容:
指定运行nginx的用户和组是:nginx
user nginx nginx;
发生错误时要写入到错误日志(目录用上面创建好的)
error_log /data/nginx/logs/error.log;
指定pid的路径
pid logs/nginx.pid;
日志格式(取消注释即可)
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
指定访问日志的路径和格式(目录用上面创建好的)
access_log /data/nginx/logs/access.log main;
4,生成service文件:
[root@centos8 ~]# vi /usr/lib/systemd/system/nginx.service
内容:
[Unit]
Description=nginx-The High-performance HTTP Server
After=network.target [Service]
Type=forking
PIDFile=/usr/local/soft/nginx-1.18.0/logs/nginx.pid
ExecStartPre=/usr/local/soft/nginx-1.18.0/sbin/nginx -t -c /usr/local/soft/nginx-1.18.0/conf/nginx.conf
ExecStart=/usr/local/soft/nginx-1.18.0/sbin/nginx -c /usr/local/soft/nginx-1.18.0/conf/nginx.conf
ExecReload=/usr/local/soft/nginx-1.18.0/sbin/nginx -s reload
ExecStop=/usr/local/soft/nginx-1.18.0/sbin/nginx -s stop
PrivateTmp=true [Install]
WantedBy=multi-user.target
5,启动服务
重新加载服务文件
[root@centos8 ~]# systemctl daemon-reload
启动:
[root@centos8 ~]# systemctl start nginx
6,查看效果:
从浏览器访问安装机器的ip的80端口即可:
看例子截图:

7,查看日志目录
[root@centos8 conf]# ll /data/nginx/logs/
总用量 8
-rw-r--r-- 1 root root 1477 4月 22 18:49 access.log
-rw-r--r-- 1 root root 1195 4月 22 18:32 error.log
日志已成功写入
八,查看centos版本
[root@centos8 ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
centos8平台编译安装nginx1.18.0的更多相关文章
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...
- CentOS7 编译安装 nginx-1.10.0
对于NGINX 支持epoll模型 epoll模型的优点 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的 ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- ansible:安装nginx1.18.0(使用role功能)
一,ansible使用role的用途? roles分别将变量/文件/任务/模板/handler等放置于单独的目录中, 并可以方便的include各目录下的功能 roles使playbook能实现代码被 ...
- centos7 安装 nginx-1.18.0 并设置开机自启动
一.到官网下载nginx Mainline version: nginx主力版本,为开发版 Stable version: 稳定版,在生产环境中选择此版本进行安装 Legacy versions: ...
- centos7下编译安装nginx-1.16.0
一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...
- centos7 编译安装nginx1.16.0( 完整版 )
一.安装依赖包 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 依赖包说明: 1.编译 ...
随机推荐
- ASP.NET Core整合Zipkin链路跟踪
前言 在日常使用ASP.NET Core的开发或学习中,如果有需要使用链路跟踪系统,大多数情况下会优先选择SkyAPM.我们之前也说过SkyAPM设计确实比较优秀,巧妙的利用Diagnosti ...
- JVM垃圾回收安全点Safe Point
GC安全点(Safepoint) 程序执行时并非在所有地方都能停顿下来开始GC,只有在特定的位置才能停顿下来开始GC,这些位置称为“安全点(Safepoint) ” Safe Point的选择很重要, ...
- JVM学习目录
JVM学习目录 JVM的整体结构 1.类加载子系统 类加载子系统 2.运行时数据区 运行时数据区总览 堆.栈.方法区的详细图解 2.1.程序计数器 程序计数器 2.2.本地方法栈 本地方法栈 2.3. ...
- Java基础一篇过(四)List这篇就够了
文章更新时间:2020/08/03 一.List介绍 list是Java的一个接口,继承了Collection,常用到的有3个子类实现: ArrayList 底层数据结构是数组.线程不安全 Linke ...
- 《Netty权威指南》笔记
第1章 Java的I/O演进之路 1.1 Linux网络I/O模型 fd:file descriptor,文件描述符.linux内核将所有外部设备都看作一个文件来操作,对文件的读写会调用内核提供的命令 ...
- 《zookeeper原理与实践》笔记
第1章 分布式架构 1.1 分布式 分布式特点:分布性.对等性.并发性.缺乏全局时钟.故障总是会发生. 分布式问题:通讯异常.网络分区(脑裂).三态.节点故障. 1.2 ACID到CAP/BASE ...
- xxe漏洞,及xml
xxe漏洞 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声明.DTD文档类型定义(可选).文 ...
- 每日一个知识点系列:volatile的可见性原理
每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解,此处不涉及详细的原理性解读. img 看图说话 关键点1: 总线嗅探器(MESI 缓存一致性原理 ) 关键点 ...
- JAVA并发笔记
重入锁的特性, 避免死锁, 如果有锁的话, 不用重新加锁, 直接增加锁的次数.. Synchronize, ReentrantLock都是重入锁. 读写锁, ReentrantReadWriteLoc ...
- getchar()与putchar()
getchar() 用于读取用户从键盘输入的单个字符,它有一个整型的返回值,当发生读取错误的时候,返回整型值-1,当读取正确的时候,它会返回用户从键盘输的第一个字符的ASCII码, 当程序调用getc ...