Linux下載安裝Nginx(離線/在線)

本文详细介绍在CentOs环境下,通过NPM方式离线安装Nginx所需依赖包的步骤,包括gcc、PCRE、OpenSSL和zlib的安装,并提供YUM在线安装的备选方案。此外,还涉及Nginx的配置与启动过程。

1.NPM方式離線安裝依賴包, 以CentOs為例

①gcc环境…C编译
[root@cloudapp113 /]# rpm -qa | grep gcc
libgcc-4.8.5-36.el7.x86_64
gcc-4.8.5-36.el7.x86_64

②PCRE安裝…Perl库
[root@cloudapp113 /]# rpm -qa pcre
pcre-8.32-17.el7.x86_64

③OpenSSL安装(非必须 用到HTTPS协议需安装)
[root@cloudapp113 /]#  rpm -qa|grep -i openssl
openssl-libs-1.0.2k-16.el7.x86_64
openssl-1.0.2k-16.el7.x86_64

④安装zlib
[root@cloudapp113 /]# rpm -qa | grep zlib
zlib-1.2.7-18.el7.x86_64

2.YUM命令方式在線安裝

a.安装依赖包   
一键安装上面四个依赖    
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel    
    
b.下载并解压安装包   
创建一个文件夹    
    cd /usr/local    
    mkdir nginx    
    cd nginx 
   
安裝在線wget依賴
    yum install wget  -y   
下载Nginx安裝tar包    
    wget http://nginx.org/download/nginx-1.13.7.tar.gz   

解壓tar包
    tar -xvf nginx-1.13.7.tar.gz    
    
c.安装nginx   
进入nginx目录    
    cd /usr/local/nginx-1.13.7    
执行命令    
命令說明./configure     --prefix=安裝后目錄    --with-pcre=安裝源文件目錄    
    ./configure   --prefix=/usr/local/nginx    
执行make命令    
    make    
执行make install命令    
    make install   

3.配置啟動Nginx

配置nginx.conf    
    vi /usr/local/nginx/conf/nginx.conf   
将端口号改成8089,因为可能Apache占用80端口,Apache端口尽量不要修改,我们选择修改nginx端口。   
localhost修改为你服务器ip地址   
   
b.启动nginx   
加載啟動
    /usr/local/nginx/sbin/nginx -s reload   
查看nginx进程是否启动
       ps -ef | grep nginx    

c.关闭虚拟机的防火墙
centOS6及以前版本使用命令
    systemctl stop iptables.service   
centOS7关闭防火墙命令
    systemctl stop firewalld.service   


随后访问该ip即可看到nginx界面。   

 

附:編譯安裝過程

checking for OS 
 + Linux 3.10.0-957.5.1.el7.x86_64 x86_64[root@cloudapp113 nginx-1.14.2]#  /usr/local/nginx/sbin/nginx -t
checking for C compiler ... foundnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
 + using GNU C compilernginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-36) (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/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
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 prctl(PR_SET_KEEPCAPS) ... found 
checking for capabilities ... found 
checking for crypt_r() ... found 
checking for sys/vfs.h ... found 
checking for nobody group ... 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 sched_setaffinity() ... 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_TRANSPARENT ... found 
checking for IP_BINDANY ... not found 
checking for IP_BIND_ADDRESS_NO_PORT ... not found 
checking for IP_RECVDSTADDR ... not found 
checking for IP_SENDSRCADDR ... 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 clock_gettime(CLOCK_MONOTONIC) ... 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 sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found 
checking for getaddrinfo() ... found 
checking for PCRE library ... found 
checking for PCRE JIT support ... found 
checking for zlib library ... found 
creating objs/Makefile 
  
Configuration summary 
  + using system PCRE library 
  + OpenSSL library is not used 
  + 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" 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值