原文:http://my.oschina.net/liucao/blog/470241 (CentOS 7 安装Nginx-1.9.2)
一、准备工作
1、安装必备工具:
$ yum -y install gcc gcc-c++ autoconf automake
$ yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
说明:
pcre: 用来作地址重写的功能。
zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。
openssl:提供ssl加密协议。
2、新建一个系统级用户组和匿名用户,以及下面编译时使用
$ groupadd -r nginx
$ useradd -g nginx nginx
二、Nginx编译安装:
1、下载Nginx:http://nginx.org/en/download.html
2、解压编译:
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0/
$ ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6 \
--with-http_spdy_module \
--with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
上面的参数的作用可以通过--help来查看下文附加1中有提供
$ ./configure --help
编译日志:
checking for OS
+ Linux 3.10.0-229.4.2.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... 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 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 TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... not 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 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 setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... 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
creating objs/Makefile
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library
nginx path prefix: "/usr"
nginx binary file: "/usr/sbin/nginx"
nginx configuration prefix: "/etc/nginx"
nginx configuration file: "/etc/nginx/nginx.conf"
nginx pid file: "/var/run/nginx/nginx.pid"
nginx error log file: "/var/log/nginx/error.log"
nginx http access log file: "/var/log/nginx/http.log"
nginx http client request body temporary files: "/var/tmp/nginx/client"
nginx http proxy temporary files: "/var/tmp/nginx/proxy"
nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
好像很成功。
3、安装:
$ make && make install
4、启动:
$ nginx -c /etc/nginx/nginx.conf
如果提示缺什么包,直接用yum安装
$ yum install xxxxx
如果提示:
nginx: [emerg] mkdir() "/var/tmp/nginx/client_temp" failed (2: No such file or directory)
则用管理员去mkdir 创建文件夹后再启动。
对于nginx的操作,指令比较长,也不便于操作,因此可以使用脚本,教程中转:
CentOS 7 Nginx 控制脚本
附加1:
--help print this message
--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
--conf-path=PATH set nginx.conf pathname
--error-log-path=PATH set error log pathname
--pid-path=PATH set nginx.pid pathname
--lock-path=PATH set nginx.lock pathname
--user=USER set non-privileged user for
worker processes
--group=GROUP set non-privileged group for
worker processes
--build=NAME set build name
--builddir=DIR set build directory
--with-select_module enable select module
--without-select_module disable select module
--with-poll_module enable poll module
--without-poll_module disable poll module
--with-threads enable thread pool support
--with-file-aio enable file AIO support
--with-ipv6 enable IPv6 support
--with-http_ssl_module enable ngx_http_ssl_module
--with-http_spdy_module enable ngx_http_spdy_module
--with-http_realip_module enable ngx_http_realip_module
--with-http_addition_module enable ngx_http_addition_module
--with-http_xslt_module enable ngx_http_xslt_module
--with-http_image_filter_module enable ngx_http_image_filter_module
--with-http_geoip_module enable ngx_http_geoip_module
--with-http_sub_module enable ngx_http_sub_module
--with-http_dav_module enable ngx_http_dav_module
--with-http_flv_module enable ngx_http_flv_module
--with-http_mp4_module enable ngx_http_mp4_module
--with-http_gunzip_module enable ngx_http_gunzip_module
--with-http_gzip_static_module enable ngx_http_gzip_static_module
--with-http_auth_request_module enable ngx_http_auth_request_module
--with-http_random_index_module enable ngx_http_random_index_module
--with-http_secure_link_module enable ngx_http_secure_link_module
--with-http_degradation_module enable ngx_http_degradation_module
--with-http_stub_status_module enable ngx_http_stub_status_module
--without-http_charset_module disable ngx_http_charset_module
--without-http_gzip_module disable ngx_http_gzip_module
--without-http_ssi_module disable ngx_http_ssi_module
--without-http_userid_module disable ngx_http_userid_module
--without-http_access_module disable ngx_http_access_module
--without-http_auth_basic_module disable ngx_http_auth_basic_module
--without-http_autoindex_module disable ngx_http_autoindex_module
--without-http_geo_module disable ngx_http_geo_module
--without-http_map_module disable ngx_http_map_module
--without-http_split_clients_module disable ngx_http_split_clients_module
--without-http_referer_module disable ngx_http_referer_module
--without-http_rewrite_module disable ngx_http_rewrite_module
--without-http_proxy_module disable ngx_http_proxy_module
--without-http_fastcgi_module disable ngx_http_fastcgi_module
--without-http_uwsgi_module disable ngx_http_uwsgi_module
--without-http_scgi_module disable ngx_http_scgi_module
--without-http_memcached_module disable ngx_http_memcached_module
--without-http_limit_conn_module disable ngx_http_limit_conn_module
--without-http_limit_req_module disable ngx_http_limit_req_module
--without-http_empty_gif_module disable ngx_http_empty_gif_module
--without-http_browser_module disable ngx_http_browser_module
--without-http_upstream_hash_module
disable ngx_http_upstream_hash_module
--without-http_upstream_ip_hash_module
disable ngx_http_upstream_ip_hash_module
--without-http_upstream_least_conn_module
disable ngx_http_upstream_least_conn_module
--without-http_upstream_keepalive_module
disable ngx_http_upstream_keepalive_module
--without-http_upstream_zone_module
disable ngx_http_upstream_zone_module
--with-http_perl_module enable ngx_http_perl_module
--with-perl_modules_path=PATH set Perl modules path
--with-perl=PATH set perl binary pathname
--http-log-path=PATH set http access log pathname
--http-client-body-temp-path=PATH set path to store
http client request body temporary files
--http-proxy-temp-path=PATH set path to store
http proxy temporary files
--http-fastcgi-temp-path=PATH set path to store
http fastcgi temporary files
--http-uwsgi-temp-path=PATH set path to store
http uwsgi temporary files
--http-scgi-temp-path=PATH set path to store
http scgi temporary files
--without-http disable HTTP server
--without-http-cache disable HTTP cache
--with-mail enable POP3/IMAP4/SMTP proxy module
--with-mail_ssl_module enable ngx_mail_ssl_module
--without-mail_pop3_module disable ngx_mail_pop3_module
--without-mail_imap_module disable ngx_mail_imap_module
--without-mail_smtp_module disable ngx_mail_smtp_module
--with-stream enable TCP proxy module
--with-stream_ssl_module enable ngx_stream_ssl_module
--without-stream_access_module disable ngx_stream_access_module
--without-stream_upstream_hash_module
disable ngx_stream_upstream_hash_module
--without-stream_upstream_least_conn_module
disable ngx_stream_upstream_least_conn_module
--without-stream_upstream_zone_module
disable ngx_stream_upstream_zone_module
--with-google_perftools_module enable ngx_google_perftools_module
--with-cpp_test_module enable ngx_cpp_test_module
--add-module=PATH enable an external module
--with-cc=PATH set C compiler pathname
--with-cpp=PATH set C preprocessor pathname
--with-cc-opt=OPTIONS set additional C compiler options
--with-ld-opt=OPTIONS set additional linker options
--with-cpu-opt=CPU build for the specified CPU, valid values:
pentium, pentiumpro, pentium3, pentium4,
athlon, opteron, sparc32, sparc64, ppc64
--without-pcre disable PCRE library usage
--with-pcre force PCRE library usage
--with-pcre=DIR set path to PCRE library sources
--with-pcre-opt=OPTIONS set additional build options for PCRE
--with-pcre-jit build PCRE with JIT compilation support
--with-md5=DIR set path to md5 library sources
--with-md5-opt=OPTIONS set additional build options for md5
--with-md5-asm use md5 assembler sources
--with-sha1=DIR set path to sha1 library sources
--with-sha1-opt=OPTIONS set additional build options for sha1
--with-sha1-asm use sha1 assembler sources
--with-zlib=DIR set path to zlib library sources
--with-zlib-opt=OPTIONS set additional build options for zlib
--with-zlib-asm=CPU use zlib assembler sources optimized
for the specified CPU, valid values:
pentium, pentiumpro
--with-libatomic force libatomic_ops library usage
--with-libatomic=DIR set path to libatomic_ops library sources
--with-openssl=DIR set path to OpenSSL library sources
--with-openssl-opt=OPTIONS set additional build options for OpenSSL
--with-debug enable debug logging
相关推荐
"nginx-1.8.0.tar.gz" 是Nginx的一个源码包,版本为1.8.0,采用tar.gz格式进行压缩,这种格式在Linux和Unix系统中常见,用于存储和分发源代码。 **Nginx的特性与作用:** 1. **高性能**: Nginx采用事件驱动的异步非...
CentOS 7 环境下安装 Nginx-upload 模块 CentOS 7 环境下安装 Nginx-upload 模块是 web 服务器管理员经常需要完成的一项任务。本文档将指导您在 CentOS 7 环境下安装 Nginx-upload 模块。 安装前的准备 在开始...
总之,这个 "nginx-1.18.0-1.el7.ngx.x86_64" 压缩包为 CentOS 7 用户提供了一种方便快捷的离线安装 Nginx 的方法,而 "部署.txt" 文件则提供了额外的部署指南,帮助用户顺利完成 Nginx 的安装与配置。对于运维人员...
在CentOS7环境中,对Nginx进行版本升级是一个重要的任务,这可能是因为新版本提供了更多的功能、性能优化或安全修复。本篇文章将详细介绍两种在CentOS7上升级Nginx的方法:YUM upgrade和源码平滑升级,并提供相关的...
本教程将详细讲解如何在Linux环境下安装Nginx的两个版本:1.6.3和1.8.0。 首先,让我们了解一下Nginx的基本结构和功能。Nginx采用事件驱动模型,可以同时处理大量连接,尤其适用于高并发场景。它支持静态文件服务、...
在这个场景下,我们关注的是在CentOS系统上安装Java开发工具包(JDK)、MySQL数据库、Nginx Web服务器以及Apache Tomcat应用服务器的过程。下面将详细阐述这些组件的安装步骤。 一、JDK安装方法 1. 更新系统: ...
目录一、优化CentOS8二、部署 LNMP前提准备三、源码编译安装nginx -1.8.0.tar.gz 一、优化CentOS8 既然要使用CentOS8,那么我们就不先优化CentOS8才行。如下: 1、替换CentOS镜像 [14:21:01 root@wangzhike yum....
阿里云CentOs安装Ftp Jdk Tomcat Nginx Mysql Oracle 本文将指导您在阿里云CentOs服务器上安装FTP、JDK、Tomcat、Nginx、Mysql和Oracle。 一、FTP服务器安装 * 安装vsftpd:`yum -y install vsftpd` * 设置开机...
- 在CentOS上,首先通过`sudo yum update`更新系统,然后使用`sudo yum install java-1.8.0-openjdk-devel`命令安装JDK。 - 安装完成后,使用`java -version`和`javac -version`检查Java版本,确保安装成功。 2. ...
### Nginx在CentOS 6.6下的编译安装及基本配置 #### 概述 Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,它以其稳定性、丰富的特性集、示例配置文件和低内存消耗而闻名。本文档将详细介绍如何在 CentOS 6.6 ...
JDK1.8安装与配置 准备工作: 我安装的ContOS8(版本:CentOS-Stream-8-x86_64-...yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 4.检测:javac或者java-version都可以; 5.配置JAVA_
### CentOS 下 Nginx 安装笔记 #### 环境准备 在开始安装 Nginx 之前,首先需要确保 CentOS 系统版本为 6.3 或更高版本。本篇文档将详细介绍如何在 CentOS 6.3 上完成 Nginx 的安装。 #### 安装必备工具:GCC ...
总结,Nginx 1.8版本在CentOS 6上的安装和配置涉及到多个步骤,包括下载、编译、安装以及配置静态文件和反向代理等。正确安装和配置Nginx可以提升Web服务的性能和稳定性,"静态页面.rar"则可能包含用于测试Nginx静态...
Nginx 是用 C 语言开发的,建议在 Linux 上运行,本教程使用 Centos6.5 作为安装环境。为了编译 Nginx,需要安装 gcc 环境,如果没有 gcc 环境,需要安装 gcc:yum install gcc-c++。 2. 安装 PCRE 库 PCRE(Perl ...
本教程将详细介绍如何在CentOS 7上安装和配置Nginx。 首先,安装Nginx之前,我们需要确保系统中已经安装了一些必要的依赖包。在CentOS 7中,这包括`gcc`和`gcc-c++`,它们是编译软件所必需的。你可以使用`yum`包...
在Linux系统中,安装Nginx通常可以通过包管理器如`apt`(对于Debian/Ubuntu)或`yum`(对于CentOS/RHEL)进行。首先,需要更新包列表,然后安装Nginx: ```bash # 对于Ubuntu/Debian sudo apt update sudo apt ...
### FastDFS 在 CentOS 7 下的部署与 Nginx 集成详解 #### 一、FastDFS 简介及工作原理 **1.1 快速理解 FastDFS** FastDFS 是一个开源的高性能分布式文件系统,适用于海量数据存储场景,特别是针对中小文件(4KB ...
本教程将详细介绍如何在Linux系统,特别是CentOS 6.5环境下,安装并配置Nginx。 首先,确保你的系统满足以下安装环境: 1. **GCC**:Nginx的源码编译需要GCC编译器,因此你需要通过`yum install gcc-c++`来安装它...