CentOS 7下编译安装Nginx 1.11.10教程

发布时间 - 2026-01-11 00:10:38    点击率:

前言

之前分享过一篇 CentOS下编译安装nginx及配置缩略图插件的方法教程,当时的环境是 CentOS 6.x 和 Nginx 1.9.x 。 本次安装的环境为 CentOS 7.2 和 Nginx 1.11.10, 有些配置以前自启动的方式发生了变化, 这里再记录一下。

安装编译安装依赖的类库和包

yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel

下载和解压 Nginx 1.11.10

wget http://nginx.org/download/nginx-1.11.10.tar.gz
tar -xzvf nginx-1.11.10.tar.gz
cd nginx-1.11.10

配置 Nginx 安装选项

这里编译了插件 http_image_filter_module, 来实现图片的处理,采用默认的安装路径进行安装。

./configure\
 --with-http_ssl_module\
 --with-http_v2_module\
 --with-http_realip_module\
 --with-http_addition_module\
 --with-http_xslt_module\
 --with-http_image_filter_module\
 --with-http_sub_module\
 --with-http_auth_request_module\
 --with-http_stub_status_module\
 --with-http_gzip_static_module

运行结果如下

[root@xx nginx-1.11.10]# ./configure\
> --with-http_ssl_module\
> --with-http_v2_module\
> --with-http_realip_module\
> --with-http_addition_module\
> --with-http_xslt_module\
> --with-http_image_filter_module\
> --with-http_sub_module\
> --with-http_auth_request_module\
> --with-http_stub_status_module\
> --with-http_gzip_static_module
checking for OS
 + Linux 3.10.0-327.22.2.el7.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... not found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for sched_setaffinity() ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... not found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_RECVDSTADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... found
checking for zlib library ... found
checking for libxslt ... found
checking for libexslt ... found
checking for GD library ... found
checking for GD WebP support ... not found
creating objs/Makefile
Configuration summary
 + using system PCRE library
 + using system OpenSSL library
 + using system zlib library
 nginx 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"

最后的几行是配置的结果, 注意这里的 pid file 那一行,后面配置服务的时候,需要用的到。

安装 Nginx

使用如下命令来安装 nginx 。

make && make install

配置 systemd Nginx 服务和设置 Nginx 自启动

centos 7 中采用 systemd 来管理系统,我们来为 nginx 创建服务文件,来实现通过 systemd 来管理 nginx 。

创建 systemd 服务文件: /lib/systemd/system/nginx.service,内容如下:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

这里的 PIDFile 的配置要和前面的 配置保持一致。

设置自启动

systemctl enable nginx

通过 systemd 管理 nginx

systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx

总结

好了,打完收工。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# centos7安装nginx1.11  # centos  # 7  # nginx  # 1.11  # centos7编译安装nginx  # CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.  # Centos6.4 编译安装 nginx php的方法  # Centos 6.8编译安装LNMP环境(Nginx+MySQL+PHP)教程  # Centos7下编译安装配置Nginx+PHP+MySql环境  # CentOS 6.5编译安装Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38  # CentOS下编译安装nginx及配置缩略图插件的方法教程  # Centos下编译安装Nginx教程详解  # CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6  # CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0  # CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5  # CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.  # CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的  # CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5  # 来实现  # 好了  # 管理系统  # 这篇文章  # 谢谢大家  # 打完  # 需要用  # 来为  # 几行  # 类库  # 发生了  # 有疑问  # features  # statvfs  # mount  # specific  # crypt  # sendfile  # limits  # prctl 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  深圳网站制作培训,深圳哪些招聘网站比较好?  Android利用动画实现背景逐渐变暗  如何在建站之星网店版论坛获取技术支持?  如何用PHP快速搭建高效网站?分步指南  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  非常酷的网站设计制作软件,酷培ai教育官方网站?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何快速搭建个人网站并优化SEO?  Linux网络带宽限制_tc配置实践解析【教程】  Android实现代码画虚线边框背景效果  如何在橙子建站上传落地页?操作指南详解  利用JavaScript实现拖拽改变元素大小  如何在云虚拟主机上快速搭建个人网站?  Laravel Fortify是什么,和Jetstream有什么关系  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何快速搭建高效可靠的建站解决方案?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  香港服务器如何优化才能显著提升网站加载速度?  智能起名网站制作软件有哪些,制作logo的软件?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何为不同团队 ID 动态生成多个独立按钮  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  如何获取免费开源的自助建站系统源码?  Python3.6正式版新特性预览  Android中AutoCompleteTextView自动提示  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  企业网站制作这些问题要关注  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  如何快速查询网址的建站时间与历史轨迹?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel如何配置任务调度?(Cron Job示例)  如何自定义建站之星网站的导航菜单样式?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  北京企业网站设计制作公司,北京铁路集团官方网站?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel怎么使用artisan命令缓存配置和视图