首先配置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.......

linux-Centos7安装nginx的更多相关文章

  1. linux(centos7) 安装nginx

    linux(centos7) 安装nginx 1.14(stable) 版本 Nginx配置文件常见结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内, ...

  2. linux centos7 安装nginx并启动

    Linux下安装Nginx完整教程及常见错误解决方案:https://blog.csdn.net/chenxiaochan/article/details/63688346 CentOS 7 安装Ng ...

  3. VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法

    VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之 ...

  4. Linux(CentOS7)下Nginx安装

    记录一下 Linux(CentOS7) 下 Nginx 安装过程 一.准备工作 版本说明: Linux版本:CentOS 7 64位 Nginx版本:nginx-1.20.0 1. 下载安装文件 采用 ...

  5. linux系统或centos7安装nginx

    一.Linux下安装nginx 1.添加源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-cen ...

  6. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  7. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  8. Linux CentOS7 安装 Qt 5.9.2

    Linux CentOS7 安装 Qt 5.9.2 参考链接 http://doc.qt.io/qt-5/linux.html sudo yum groupinstall "C Develo ...

  9. 【Linux】Linux上安装Nginx

    本文介绍Linux环境安装Nginx,这里用的Linux系统是CentOS 7.2. 1. 从Nginx官网下载Nginx.这里用的版本为:1.13.6. 2. 将下载下来的Nginx上传到Linux ...

  10. 【云服务器部署】---Linux下安装nginx

    [云服务器部署]---Linux下安装nginx 之前两篇,分别讲了:Linux下安装MySQL  和  springboot项目部署云服务器 nginx安装也是挺简单的.具体步骤如下: 第一步,下载 ...

随机推荐

  1. day5-正则表达式 re

    re模块用于对python的正则表达式的操作. 字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配 ...

  2. TOSCA自动化测试工具--openURL

    在folder下面create test case 输入自己的url,actionMode 是input, String类型

  3. [pixhawk笔记]7-MAVLink添加自定义消息

    前一篇学习了uORB,用于px4中各个模块的进程间通信,下来学习MAVLink,用于飞控和地面站之间的通信.教程中主要给出了使用MAVLink的发送和接收消息的方法.完整的MAVLink消息列表见该网 ...

  4. ARTS Week 001

    Algorithm Leetcode 1. Two Sum Given an array of integers, return indices of the two numbers such tha ...

  5. yarn命令使用

    yarn 常用命令 修改日期 2017.12.26 最初接触 yarn 还是在 0.17.10 版本,由于各种各样的原因,使用时没 npm 顺手, 目前 yarn 的版本已经升级为 1.3.2 各种之 ...

  6. win10下搭建jz2440v3(arm s3c2440)开发及gdb调试环境【转】

    本文转载自:https://blog.csdn.net/newjay03/article/details/72835758 本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合 ...

  7. CentOS7安装GNOME可视化界面

    1.首先安装X(X Window System),命令为 yum groupinstall "X Window System" 回车(注意有引号)   1CentOS Linux系 ...

  8. SQLite-C#-帮助类

    public static class SQLiteHelper { private static string connectionString = string.Empty; #region vo ...

  9. 数据结构——堆(Heap)大根堆、小根堆

    目录 Heap是一种数据结构具有以下的特点: 1)完全二叉树: 2)heap中存储的值是偏序: Min-heap: 父节点的值小于或等于子节点的值: Max-heap: 父节点的值大于或等于子节点的值 ...

  10. RabbitMQ入门(4)——路由(Routing)

    这一篇我们将介绍如何订阅消息的一个子集.例如,我们只需要将日志中的error消息存储到日志文件中而将所有日志消息都在控制台打印出来. 绑定(Bindings) 在前面的例子中,我们创建了交换机和队列的 ...