首先配置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. appium 智能滚动

  2. zabbix 4.0 安装配置

    1.安装软件包: 1.安装软件包: yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap ...

  3. python3_UUID模块详解

    1.知识背景 UUID是128位的全局唯一标识符,通常有32字节的字母表示.它可以保证时间和空间的唯一性. UUID——Universally unique identifier 在python中叫U ...

  4. Let Her Go

    转自:https://www.zhihu.com/question/29255072/answer/43962611 [MV]Passenger-Let Her Go-高清MV在线播放 版本一 Let ...

  5. centos7 安装 gitolite (git服务器)

    gitolite简介 轻量级git服务器程序,解决了git权限管理的问题.(git是一个分布式版本控制系统,就是说每个人作为客户端的同时又是服务器)项目GitHub地址:https://github. ...

  6. 【转载】redis优化

    原文链接 批量操作优化: 在使用redis的时候,客户端通过socket向redis服务端发起请求后,等待服务端的返回结果. 客户端请求服务器一次就发送一个报文 -> 等待服务端的返回 -> ...

  7. Swoole学习(五)Swoole之简单WebSocket服务器的创建

    环境:Centos6.4,PHP环境:PHP7 服务端代码 <?php //创建websocket服务器 $host = '0.0.0.0'; $port = ; $ws = new swool ...

  8. 关于Mvc的分页写法

    关于asp.net mvc的分页,网上已经有很多了.本来也想借用,先看了杨涛写的分页控件,感觉用起来稍微有点复杂,而我只需要简单的分页.分页我写过很多次,原理也熟悉,就是构造首页.上一页.下一页及末页 ...

  9. 你可能不熟悉的JS总结

    暂时性死区 只要块级作用域存在let命令,它所声明的变量就"绑定"这个区域,不再受外部的影响.这么说可能有些抽象,举个例子: var temp = 123; if(true) { ...

  10. 20145313张雪纯 《Java程序设计》8周学习总结

    20145313张雪纯 <Java程序设计>8周学习总结 教材学习内容总结 java.util.logging包的优点在于提供了日志功能相关类与接口,不必额外配置日志组件就可以在标准jav ...