`

CentOS 7 安装Nginx-1.8.0

阅读更多

原文: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集群搭建的必要工具,因为这个就是Nginx,在Centos中安装Nginx的不二选择,毕竟网上镜像太多惊喜,不如自己装一个简单粗暴

    nginx-1.18.0-1.el7.ngx.x86_64

    nginx-1.18.0-1.el7.ngx.x86_64 nginx离线安装包 免积分下载 centos亲测可用 免积分,不像博客中一部分人高积分下载下来没有用。

    Centos7环境下Nginx版本升级方式及步骤

     YUM upgrade升级:本方式适用于使用rpm安装nginx的方式,优点是升级操作简单便捷,缺点是无法升级到指定版本,默认升级至YUM安装支持的最新版本,当前最新版本为nginx1.18.0。  源码平滑升级升级:本方式适用于...

    CentOS8服务器配置(JDK1.8+Tomcat9+MySQL8.0+nginx)

    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_

    CentOS8部署LNMP环境之编译安装nginx(一)

    目录一、优化CentOS8二、部署 LNMP前提准备三、源码编译安装nginx -1.8.0.tar.gz 一、优化CentOS8 既然要使用CentOS8,那么我们就不先优化CentOS8才行。如下: 1、替换CentOS镜像 [14:21:01 root@wangzhike yum....

    FastDFS一键安装脚本centOS6.x

    FastDFS一键安装脚本centOS6.x 一键搭建单机版fastDFS - 1.FastDFS_v5.08.tar.gz - 2.fastdfs-nginx-module_v1.16.tar.gz - 3.libfastcommon-master.zip - 4.nginx-1.8.0.tar.gz

    FastDFS一键安装脚本centOS6.7

    FastDFS一键安装脚本 搭建fastDFS如此简单 - 1.FastDFS_v5.08.tar.gz - 2.fastdfs-nginx-module_v1.16.tar.gz - 3.libfastcommon-master.zip - 4.nginx-1.8.0.tar.gz

    基于CentOS 7.6 配置Nginx + Tomcat

    centos版本7.6,nginx版本1.14.2,tomcat版本8.5.37,jdk版本1.8.0_201,实现nginx的代理,访问不同的tomcat

    onlyoffice离线部署-CentOS,相关依赖

    -epel-release-7-11.noarch.rpm -jdk1.8.0及相关依赖安装包 -nginx-1.16.1及相关依赖安装包 -onlyoffice-documentserver.x86_64.rpm 6.2.0 -onlyoffice-repo.noarch.rpm -postgresql-9.2.24及相关依赖安装包 -...

    Nginx+ftp搭建图片服务器

    Nginx:1.8.0 Vsftpd:需要在线安装。 虚拟机以及Linux安装很简单此处略。 Linux的局域网IP为:192.168.1.110 修改Linux的IP并立即生效的命令: [java] view plain copy 1.#切换root管理员用户  2.[root@localhost...

    Flume传输Nginx日志到HDFS

    linux:Centos7 JDK:1.8 Hadoop:2.8.5(默认已安装好集群环境) Nginx:14.0(独立部署) Flume:1.8.0(与Nginx部署在一起) 一、Nginx编译安装 1、官网下载.tar.gz文件,上传至linux服务器 ...

    zabbix 4.04 安装文档教程详解(基于CentOS 7.6)

    # yum remove java-1.8.0-openjdk # yum remove java-1.8.0-openjdk-headless 安装JDK包 # rpm -ivh jdk-8u191-linux-x64.rpm 1.2 安装依赖包 # yum install -y ...

    Linux系统下为Nginx安装多版本PHP

    Nginx版本:nginx1.8.0 php版本:php5.5.28 & php5.4.44 注意假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可。 安装PHP # wget ...

    程序员面试刷题的书哪个好-jenkins:的

    程序员面试刷题的书哪个好 ...java-1.8.0-openjdk* 安装maven: wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo yum -y insta

    zabbix-postgres-backup:备份Zabbix Postgresql

    ###依赖关系№ 依存关系1个entOS 7 2个Zabbix 2.4 3 PostgreSQL 9.4 4 Nginx 1.8.0 5 php-fpm 5.4.16-36资料库vim /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/ $...

    PenBlog:基于uWSGI+Nginx

    用Centos做服务器,Nginx做WebServer,uwsgi做应用程序容器。 #环境要求 Python 2.6 / 2.7 Django >=1.4 MongoDB >=1.8.0 其他依赖的Python组件: pymongo(2.2.1) pytz(2012d) Django、pymongo和pytz pip install ...

    Java课设基于Spring Boot和Spring Cloud开发的加密货币爱好者流量的平台源码(含项目说明+数据库).zip

    * 操作系统:Linux centos7 x64 * 虚拟化技术:VMware + Docker 项目管理工具 * 项目构建:Maven + Nexus * 代码管理:Git + GitLab * 镜像管理:Docker Registry 后台主要技术栈 * 核心框架:Spring Boot + ...

    wcdog迷你新闻发布系统-其他

    os CentOs 6.5 nginx 1.12.2 wcdog说明: 1.mysql数据库,见项目根目录wcdog.sql,需手动导入,可自行添加数据。 2.注意tomcat端口,管理系统和H5前端baseUrl均为8081端口,也可以自行修改。 3.使用管理后台(wcdog-...

    wcdog迷你新闻发布系统 v1.0

    nginx 1.12.2wcdog说明1.mysql数据库,见项目根目录wcdog.sql,需手动导入,可自行添加数据。 2.注意tomcat端口,管理系统和H5前端baseUrl均为8081端口,也可以自行修改。 3.使用管理后台(wcdog-manager)新增joke...

Global site tag (gtag.js) - Google Analytics