zoukankan      html  css  js  c++  java
  • [linux]CentOS安装pre-built Nginx

    官方文档:https://nginx.org/en/linux_packages.html


    Nginx安装分为软件包安装和pre-built安装。这里使用的pre-built安装,不用自己编译。

    设置yum repository,使linux包能自动更新
    1. 创建文件/etc/yum.repos.d/nginx.repo, 粘贴以下内容

    [ngnix]
    name=nginx repo
    baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
    gpgcheck=0
    enabled=1

    将‘OS’替换为centos, 将OSRELEASE替换为6或7(取决于系统版本)


    2. yum install nginx
    官方文档会提到signature key的问题,这应该属于确认软件来源正规,没有被hack。此处不管。


    3. 查看安装路径
    whereis nginx

    nginx的配置文件为/etc/nginx/nginx.conf


    官方的配置文档看的不是很懂。关于Nginx的配置后面看情况再补。


    install nginx后,nginx已经在后台运行,并以/etc/conf.d/default.conf为配置启动。
    因此当执行ngnix命令,想要自行启动nginx服务时,系统报错 still could not bind()。这是因为80端口已经被nginx占用了。

    通过netstat -ntpl 可以查看是否有服务占用80端口。
    如果修改了nginx.conf文件,要使其生效,需要重载nginx服务。命令为nginx -s reload。
    假设我在nginx.conf 文件中http模块下新增server模块,端口为8080.
    重启nginx后,通过netstat -ntpl | grep 80发现80端口和8080端口同时被监听,也就是default.conf和nginx.conf文件同时生效。
    看了一下nginx.conf,文件尾部有 include /etc/nginx/conf.d/*.conf的一行命令,也就是配置也包含了default.conf文件。

    将这行命令注释掉,nginx -s reload。再查看netstat,发现80端口没有在监听,只有8080端口生效。
    也就是,默认的配置文件还是nginx.conf。只是在用户没有配置的情况下,nginx会以default.conf文件为配置文件启动服务。

    官方文档完全没有提到default.conf的存在,这点比较坑。

    nginx服务成功启动后,通过浏览器访问对应ip+端口,应该会返回nginx的欢迎界面。
    如果是在虚拟机中安装的web服务,想要通过主机访问,请参考这里:[linux]主机访问虚拟机web服务(CentOS)

  • 相关阅读:
    hdu 3714
    sql 函数 DATEADD 使用
    mvc的IIS 配置问题 runAllManagedModulesForAllRequests 与 HtmlFileHandler
    移动端日历控件 mobiscroll 的简单使用、参数设置
    sql中判断是否存在某个对象
    SQLServer中的变量:局部变量,全局变量
    键盘对照表
    [PyQt]在Windows系统中安装Eric6
    [Python]使用QRCode生成彩色二维码
    [PyQt]PyQt5连接SQL Server数据库,并读取所有数据库名称
  • 原文地址:https://www.cnblogs.com/oDoraemon/p/9522629.html
Copyright © 2011-2022 走看看