zoukankan      html  css  js  c++  java
  • linux-Centos7安装nginx

    首先配置linux环境,我这里是刚刚装好linux,所以一次性安装了一系列我需要到的环境;

     yum install

     pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel lua-devel
     autoconf libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libidn libidn-devel libtool libtool-libs libevent-devel libevent openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool-ltdl libtool-ltdl-devel bison libgcrypt php-mcrypt libmcrypt libmcrypt-devel cmake gcc gcc-c++ ncurses-devel perl-Data-Dumper libicu-devel libquadmath-devel python-devel bzip2-devel

    1.到http://nginx.org/en/download.html官网下载一个nginx

    2.tar -zxvf  nginx-1.13.4.tar.gz 解压到/usr/local/nginx-1.13.4.tar.gz

    3.cd  nginx-1.13.4 进入目录

    4编译安装,执行:

      ./configure --prefix=/usr/local/nginx-1.13
      --with-pcre
      --with-ipv6
      --with-http_v2_module
      --with-http_ssl_module
      --with-http_dav_module
      --with-http_sub_module
      --with-http_realip_module
      --with-http_addition_module
      --with-http_stub_status_module   

      --add-module=/mnt/root/src/nginx.package/ngx_log_if     # 指定不写入的某些日志
      --add-module=/mnt/root/src/nginx.package/ngx_devel_kit
      --add-module=/mnt/root/src/nginx.package/form-input-nginx-module  # 在请求中获取POST的参数
      --add-module=/mnt/root/src/nginx.package/echo-nginx-module    # 在nginx中方便调试
      --add-module=/mnt/root/src/nginx.package/set-misc-nginx-module      # set value
      --add-module=/mnt/root/src/nginx.package/lua-nginx-module      # lua模块

      

    以上编译命令中的(--add-module=)这些模块需要自行预先下载放在/mnt/root/src/nginx.package/(此路径不是必须,可自定义)文件夹里面才能编译,如果没有会报错;

    根据自己需求,如果不需要(--add-module=)这些模块可以直接编译:

      ./configure --prefix=/usr/local/nginx-1.13
      --with-pcre
      --with-ipv6
      --with-http_v2_module
      --with-http_ssl_module
      --with-http_dav_module
      --with-http_sub_module
      --with-http_realip_module
      --with-http_addition_module
      --with-http_stub_status_module

    编译之后执行make && make install  安装完成!

    注意如果需要编译lua-nginx-module模块:

    还需要下载LuaJIT-2.1.0-beta3.tar.gz编译make && make install并安装

    之后编译nginx之前先指定lua的路径

    //先导入环境变量,告诉nginx去哪里找luajit

    # export LUAJIT_LIB=/usr/local/lib
    # export LUAJIT_INC=/usr/local/include/luajit-2.1
    之后在编译nginx    ./configure --prefix=/usr/local/nginx......................

    常见错误:

    # /usr/local/nginx/sbin/nginx -v

    ./objs/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
    解决方法添加软链:
    # ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

    启动测试:

    80端口需要root账户才有权限启动;

    问题一: 启动之后无法在虚拟机外访问

    CentOS 7.0默认使用的是firewall作为防火墙

    首先检查防火墙是否开启80端口

     命令:firewall-cmd --list-ports

     或者:firewall-cmd --list-all

    没有开启就需要先开启

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    命令含义:

    --zone #作用域

    --add-port=80/tcp  #添加端口,格式为:端口/通讯协议 

    --permanent   #永久生效,没有此参数重启后失效

    然后重启防火墙

    更新防火墙规则:# firewall-cmd --reload

            # firewall-cmd --complete-reload

    两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

    之后输入命令:firewall-cmd --list-ports 查看端口有没有;

    如果有了就可以访问在虚拟机外访问nginx了。

    问题二: 能访问80端口,但是不能访问其他端口;

    解决办法;使用哪个端口就开启哪个端口

    假如是在本地开发,嫌麻烦的话可以把firewall防火墙关闭即可;

    启动:# systemctl start  firewalld

    查看状态:# systemctl status firewalld 或者 firewall-cmd --state

    停止:# systemctl disable firewalld

    禁用:# systemctl stop firewalld

    systemctl stop firewalld.service #停止firewall 
    systemctl disable firewalld.service #禁止firewall开机启动

    nginx访问403问题: 

    这是权限问题,设置好访问权限就行了chmod 755.......

  • 相关阅读:
    swagger api 转graphql npm 包试用
    hasura graphql auth-webhook api 说明
    hasura graphql 角色访问控制
    hasura graphql schema 导出
    hasura graphql 模式拼接demo
    hasura graphql 模式拼接概念
    hasura graphql pg 自定义函数的使用
    gqlgen golang graphql server 基本试用
    nodejs json-t 基本测试
    json-patch 了解
  • 原文地址:https://www.cnblogs.com/JahanGu/p/7445197.html
Copyright © 2011-2022 走看看