首先配置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. 如何修改opencart的模版适合为mycncart系统使用

    如何修改opencart的模版适合为mycncart系统使用 mycncart跟随opencart的最新代码不断进行升级,并改造和不断加入中国特色的功能,因此opencart的模版均不能够拿来直接套用 ...

  2. C#windows应用程序打包(VS2010+SQLServer2008)

    C#windows应用程序打包(VS2010+SQLServer2008) 开发环境:VS2010+SQL Server 2008 操作系统:win7_32bit 旗舰版 开发语言:C# 项目名称:学 ...

  3. WebBrowser自动填充打开文件对话框

    WebBrowser自动填充打开文件对话框   在使用WebBrowser编写自动表单填写软件的时候,不知道大家是否遇到国填写文件选择表单的情况.遇到这种情况的时候,无法直接队Html元素赋值,必须模 ...

  4. 阿里云搭建go开发环境

    开通了一个阿里云来玩,记录一下环境搭建的过程 运行环境 ECS Ubuntu 16.04 64位 过程 #切换到安装文件夹 cd /usr/local #下载go #由于墙的原因,直接下载官方的可能会 ...

  5. 手写ArrayList、LinkedList

    ArrayList package com.hjp.labs; import org.omg.CORBA.PRIVATE_MEMBER; /* 一.ArrayList的底层是Object类的数组,默认 ...

  6. BZOJ 2301 Problem b (莫比乌斯反演+容斥)

    这道题和 HDU-1695不同的是,a,c不一定是1了.还是莫比乌斯的套路,加上容斥求结果. 设\(F(n,m,k)\)为满足\(gcd(i,j)=k(1\leq i\leq n,1\leq j\le ...

  7. 解决Ubuntu sudo apt-get install遇到的E: Sub-process /usr/bin/dpkg returned an error code (1)问题

    如题,本人在安装samba等软件的时候,在命令行敲入: sudo apt-get install samba4命令的时候,系统在下载之后报错,大致内容如下: ~$ sudo apt-get insta ...

  8. tensorboard实现训练的可视化

    tensorboard是tensorflow自带的可视化工具 输入命令可以启动tensorboard服务. tensorboard --logdir=your log dir 通过浏览器localho ...

  9. linux下创建用户,给用户设置密码,给用户授权

    1.linux下的用户是属于组的,所以需要创建一个组,划分给用户.创建命令: 在root下执行 groupadd  ver     创建一个组ver 2.创建用户            useradd ...

  10. netty12---线程池简单源码

    package com.cn; import java.io.IOException; import java.nio.channels.Selector; import java.util.Queu ...