zoukankan      html  css  js  c++  java
  • Linux安装nginx

    安装最新的NGINX软件包版本

    要为RHEL / CentOS设置yum存储库,请创建/etc/yum.repos.d/nginx.repo包含以下内容的文件:

    [nginx-stable]

    name=nginx stable repo

    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

    gpgcheck=1

    enabled=1

    gpgkey=https://nginx.org/keys/nginx_signing.key

    [nginx-mainline]

    name=nginx mainline repo

    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/

    gpgcheck=1

    enabled=0

    #gpgkey=https://nginx.org/keys/nginx_signing.key

    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

    安装NGINX

    sudo yum install nginx

    linux获取 GPG 密钥失败:[Errno 14]

    这个问题简单总结了一下!

    • GPG key retrieval failed: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
    • 简单的翻译:GPG密钥检索失败:[14] PYCURL errno的错误 - “无法连接到主机”

    解决办法:

    1、检查自己的DNS是不是正常,ping centos.org 和ping www.baidu.com

      如果都是正常,那DNS配置就不存在问题了。如果感觉DNS还是有问题就换个

    • vi /etc/resolv.conf
    • nameserver 8.8.8.8

    2、实质性问题就是自己系统没有yum的GPG密钥

    安装 gcc、pcre-devel、zlib-devel、openssl-devel。

     安装命令 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

     下载nginx安装包

     wget https://nginx.org/download/nginx-1.9.9.tar.gz

     解压

    tar -zxvf nginx-1.9.9.tar.gz

    进入解压目录里

    执行   ./configure --prefix=/usr/local/nginx    默认路径

     ./configure --prefix=/usr/local/nginxfdfs --add-module=/usr/local/fast/fastdfs-nginx-module/src/   指定目录

    注释:nginx编译选项

    make是用来编译的,它从Makefile中读取指令,然后编译。

    make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

    configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:

    –prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。

    –sbin-path=path 设置nginx的可执行文件的路径,默认为 prefix/sbin/nginx.

    –conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.

    –pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.

    –error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.

    –http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.

    –user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。

    –group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。

    –with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

    –with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

    –without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。

    –without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。

    –without-http_proxy_module — 不编译http_proxy模块。

    –with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。

    –with-pcre=path — 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。

    –with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。

    –with-zlib=path —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。

    –with-cc-opt=parameters — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:–with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:–with-cc-opt="-D FD_SETSIZE=2048".

    –with-ld-opt=parameters —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:–with-ld-opt="-L /usr/local/lib".

    ---------------------

    编译安装

    make

    make install

    编译安装完成之后,进入/usr/lcoal/nginx,

    查看是否安装成功(检查配置文件是否正确)

    ./sbin/nginx -t

    启动(重启)

    ./nginx    ./nginx -s reload

    显示

    [root@~]# ps -ef | grep nginx

    root 22786 1 0 16:30 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx

    nobody 22787 22786 0 16:30 ? 00:00:00 nginx: worker process

    root 22789 22760 0 16:30 pts/1 00:00:00 grep --color=auto nginx

    表示成功 登录服务器IP地址即可访问

    nginx提示still could not bind(),端口号被占用,其他则kill掉,本身则停止重启。

    设置开机自启

    在 /lib/systemd/system 下面 vi 一个  nginx.service

    添加如下:

    [Unit]
    Description=nginx service
    After=network.target

    [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target

    [Unit]:服务的说明
    Description:描述服务
    After:描述服务类别
    [Service]服务运行参数的设置
    Type=forking是后台运行的形式
    ExecStart为服务的具体运行命令
    ExecReload为重启命令
    ExecStop为停止命令
    PrivateTmp=True表示给服务分配独立的临时空间
    注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
    [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

    保存退出。

    操作如下

    # systemctl start nginx.service  启动nginx服务
    # systemctl stop nginx.service  停止服务
    # systemctl restart nginx.service  重新启动服务
    # systemctl list-units --type=service 查看所有已启动的服务
    # systemctl status nginx.service 查看服务当前状态
    # systemctl enable nginx.service 设置开机自启动
    # systemctl disable nginx.service 停止开机自启动

    纵有白头俱老意,奈何缘浅路芊芊.
  • 相关阅读:
    QOMO Linux 4.0 正式版发布
    LinkChecker 8.1 发布,网页链接检查
    pgBadger 2.1 发布,PG 日志分析
    Aletheia 0.1.1 发布,HTTP 调试工具
    Teiid 8.2 Beta1 发布,数据虚拟化系统
    zLogFabric 2.2 发布,集中式日志存储系统
    开源电子工作套件 Arduino Start Kit 登场
    Piwik 1.9 发布,网站访问统计系统
    Ruby 1.9.3p286 发布,安全修复版本
    toBraille 1.1.2 发布,Java 盲文库
  • 原文地址:https://www.cnblogs.com/hanby/p/14253007.html
Copyright © 2011-2022 走看看