nginx的从零开始

搭建的背景

这个是自己的一个学习过程,所以会从一些基本的开始

准备的东西

  • 一台安装centos7以上的虚拟机或者物理机(建议虚拟机)
  • 准备nginx的源码包(这次是基于源码安装)
  • 准备好源码安装需要的依赖包。

搭建过程

  1. 先安装所需要的依赖包

    • gcc
    • gcc-c++
    • openssl-devel
    • pcre-devel
    • zlib-devel
    • 命令是:

      yum -y install gcc-c++ gcc openssl-devel  pcre-devel  zlib-devel
  2. 安装完之后就可以下载nginx的源码包了

  3. 准备好之后开始安装了

    • 我们先用tar这个命令来解压这个源码包
    • clipboard.png
    • 解压后我们看到 出现一个nginx-1.16.0这个蓝色的文件夹 然后我们需要做的是 cd /nginx-1.16.0 进去这个文件夹,然后我们看到了
    • clipboard.png
    • 上面就是文件夹里面的内容,看到configure这个了吗,这个就是我们的安装程序 等下会使用它来安装
  4. 现在开始准备安装

    • 先介绍下常用的几个参数:
    • --with-http_ssl_module ---这个是一个https访问的一个模块(想使用https就添加这个模块)
    • --prefix=/usr/local/nginx/ ---这是一个选择安装路径的模块
    • --user=用户名 ---这是选择什么用户去启动(一般来说都不会去用root)
    • --group=用户组 --这是属于什么组
    • nginx的模块众多这里就不详细介绍了,有兴趣可以去看官方文档
    • 打这个命令后
    • ./configure --prefix=/usr/local/nginx/ --with-http_ssl_module出现了这个
    • clipboard.png
    • 这个是没有安装依赖,如果跟着我之前搭建的,就不会出现这个(如果还有什么问题可以下方留言)
    • 正常的是这样的 clipboard.png
    • 这是一个安装完成的界面,接下来需要把它编译安装一下
    • make && make install 这个是要把他编译安装一下
    • clipboard.png 这是成功的页面
    • 接下来我们去看下 /usr/local/nginx 是否有这个文件夹 clipboard.png
    • 有这个文件夹就证明安装成功了,我们先启动一下 这里注意一下 因为启动默认是使用80端口的 如果启动的时候有程序暂用80端口会启动失败的
    • 启动的方式是: /usr/local/nginx/sbin/nginx
    • clipboard.png 这是因为80口被占用了,所以失败
    • 启动没报错的话 接下来我们要验证一下是否真的启动成功
    • netstat -ntpl 或者 ss -ntpl 查看是否80口启动
      clipboard.png
    • 这里80端口启动完毕 接下来我们可以网页访问一下或者curl一下也是可以这里需要注意因为防火墙的关系以及SElinux的关系 可能会访问不到 需要把这两项关闭才行systemctl stop firewalld --这是停止防火墙
      systemctl disable firewall --这是停止开机自启 接下来是关闭 selinux 需要修改配置文件 一般命令行关闭的只是暂时的 需要修改配置文件才永久生效 配置文件在/etc/selinux/下文件名叫 config 把SELINUX=enforcing 改成 SELINUX=disabled后然后重启因为nginx没有自动开机自启 所以需要重新启动 也可以在/etc/rc.local这个文件上添加启动命令 需要注意权限问题 chmod 777 /etc/rc.local 这是比较危险的做法 注意好权限就可以好了接下来就可以访问了
  5. Bashcurl http://localhost 或者网页直接访问机器的IP地址,出现下面 clipboard.png 以上这个页面是我用
    echo 'ok' >/usr/local/nginx/html/index.html

所弄出来的正常是有wecome XXXX这样的页面是nginx默认页面

  1. 好了到这里我们的web服务器就完成了,后续就继续在这个基础上写 一些反向代理,缓存,优化,https,获取真实客户的IP等的一些操作
Last modification:September 28th, 2019 at 09:59 pm
如果觉得我的文章对你有用,请随意赞赏