• Linux下Nginx的安装和配置


    搭建环境

    操作系统:Ubuntu 16.04
    前提:开启root权限;如果没有,则所以在操作的时候需要使用sudo去获取一些执行权限。

    安装编译器

    sudo apt-get install gcc
    sudo apt-get install g++
    sudo apt-get install build-essential
    sudo apt-get install libtool
    
    • 1
    • 2
    • 3
    • 4

    Nginx的安装

    安装之前需要提前好Nginx的必备软件/库。

    安装PCRE库

    这里安装8.44版本。

    wget https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz
    tar -zxvf pcre-8.44.tar.gz
    cd pcre-8.44/
    ./configure
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装zlib库

    wget https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
    tar -zxvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11/
    ./configure
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装OpenSSL开发库

    wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
    tar -zxvf openssl-1.1.1g.tar.gz
    cd openssl-1.1.1g/
    ./config
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装Nginx

    这里安装1.16版本。

    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    tar -zxvf nginx-1.16.1.tar.gz
    cd nginx-1.16.1/
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --withhttp_ssl_module --with-http_realip_module --with-http_v2_module --withopenssl=../openssl-1.1.1g
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Nginx的启动

    默认情况下,Nginx被安装在目录/usr/local/nginx中。

    cd usr/local/nginx
    ls
    
    
    • 1
    • 2
    • 3

    显示:

    conf  html  logs  sbin
    
    • 1

    其中Nginx的配置文件存放于conf/nginx.conf,bin文件是位于sbin目录下的nginx文件,logs是存放的启动日志、错误日志、运行日志等。

    (1)默认方式启动Nginx服务器(需要sudo权限):

    sudo /usr/local/nginx/sbin/nginx 
    
    • 1

    这时,会自动读取配置文件:/usr/local/nginx/conf/nginx.conf

    打开浏览器访问此机器的IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功:

    nginx_http_show
    (2)查看nginx进程:

    sudo ps -ef|grep nginx
    
    • 1

    显示:

    root      35768      1  0 11:12 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nobody    35769  35768  0 11:12 ?        00:00:00 nginx: worker process
    fly       35771   2396  0 11:12 pts/1    00:00:00 grep --color=auto nginx
    
    
    • 1
    • 2
    • 3
    • 4

    注意,grep --color=auto nginx不是代表nginx启动,前面两行才是。
    (3)指定配置文件启动服务器:

    sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    
    • 1

    (4)测试配置信息:

    sudo /usr/local/nginx/sbin/nginx -t
    
    • 1

    提示:

    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    
    • 1
    • 2

    (5)关于nginx启动出报错
    比如,如下:

    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] still could not bind()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这可能是nginx已经启动了,也可能是80端口被占用了。
    可以使用lsof命令查询端口状态:

    sudo lsof -i:80
    
    • 1
    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    nginx   35768   root    6u  IPv4  62470      0t0  TCP *:http (LISTEN)
    nginx   35769 nobody    6u  IPv4  62470      0t0  TCP *:http (LISTEN)
    
    
    • 1
    • 2
    • 3
    • 4

    如果是其他进程占用,使用kill命令杀死进程就好,比如

    kill -9 35768
    kill -9 35769
    
    • 1
    • 2

    error.log查看Nginx错误信息

    当项目出现报错(比如上传文件),可以通过tail命令查看error.log文件排除问题。

    sudo tail -f /usr/local/nginx/logs/error.log
    
    • 1

    重启nginx

    # 停止:
    sudo /usr/local/nginx/sbin/nginx -s stop
    # 启动:
    sudo /usr/local/nginx/sbin/nginx
    
    • 1
    • 2
    • 3
    • 4

    总结

    本文提供了一个简洁明了的指南,帮助读者快速上手在Linux环境下安装和配置Nginx。通过以下几个步骤,您将能够轻松地设置一个高效的Web服务器:

    1. 准备环境:介绍了在Linux系统上进行Nginx安装和配置所需的基本环境要求,如操作系统版本和依赖项。
    2. 下载和安装Nginx:详细说明了如何从官方网站下载Nginx,并提供了适用于不同Linux发行版的安装指南。
    3. 配置Nginx:介绍了Nginx的主要配置文件和目录结构,并提供了一些常见的配置示例,如设置虚拟主机、启用HTTPS等。
    4. 启动和测试Nginx:展示了如何启动Nginx服务,并通过访问本地主机或浏览器来验证安装和配置是否成功。
    5. 常见问题和故障排除:列举了一些常见的问题和故障,并提供了解决方法和调试技巧。

    通过本文,读者将能够快速掌握在Linux环境下安装和配置Nginx的关键步骤,为搭建高性能的Web服务器打下坚实的基础。
    在这里插入图片描述

  • 相关阅读:
    RT-Thread实战笔记-小白一看就会的平衡车教程(附源码)
    单链表的方向翻转,为什么程序逻辑是这样的?
    touch - 创建空文件与修改时间戳
    Kubernetes客户端认证(三)—— Kubernetes使用CertificateSigningRequest方式签发客户端证书
    Java代码调优:提升性能的关键技巧
    CMOS电路基础知识,包括NMOS、PMOS,以及由它们构成的非门、与非、或非等门电路,和版图绘制(L-edit16.3)
    QT中messageBox的使用
    TX Text Control.NET For WPF 32.0 Crack
    【回归预测-LSTM预测】基于布谷鸟算法优化LSTM实现数据回归预测含Matlab代码
    m多载波MC-CDMA系统单用户检测方法的研究,对比EGC,MRC,ORC以及MMSE
  • 原文地址:https://blog.csdn.net/Long_xu/article/details/127713898