安装依赖包

安装make:yum -y install gcc automake autoconf libtool make

安装g++:yum -y install gcc gcc-c++

安装pcre和pcre-devel:yum install -y pcre pcre-devel

安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip:yum install -y zlib zlib-devel

( 报错的话可以这样yum install -y zlib zlib-devel --setopt=protected_multilib=false )

安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl:yum install -y openssl openssl-devel

安装Nginx

下载nginx:wget http://nginx.org/download/nginx-1.17.6.tar.gz

解压nginx:tar -xzvf nginx-1.17.6.tar.gz

tar命令详解

进入nginx目录下:cd nginx-1.17.6/

安装Nginx:

./configure --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module

make && make install

查看nginx的安装目录: whereis nginx(一般是在/usr/local/nginx)

环境变量配置

打开系统环境变量设置:vim /etc/profile

输入红色字体部分:

NGINX_HOME=/usr/local/nginx

export PATH=${NGINX_HOME}/sbin:${PATH}

使设置生效: source /etc/profile

___________________________________________________

nginx -V

查看已存在的模块,返回以下:

nginx version: nginx/1.17.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module

配置nginx.conf

nginx的配置目录:/usr/local/nginx/conf/

启动nginx:nginx -c /usr/local/nginx/conf/nginx.conf

查看并编辑nginx.conf:

vim nginx.conf

listen:监听端口改为8089(或其他,80端口需要备案)

server_name:站点域名(默认本机ip,可以改为自定义域名如:www.test.com)

root:站点根目录(html--》/usr/local/nginx/html)

保存更改:“:wq”

重启nginx使生效:nginx -s reload

检查是否重启成功:ps aux | grep nginx

重启不成功:“kill -9  进程id ”或者“ nginx -s stop ”

需要kill两个进程,否则端口被占用无法启动成功

浏览器访问:

在Nginx上配置多个站点

1、在nginx.conf 目录下创建文件夹:mkdir conf.d

2、拷贝当前nginx.conf到新文件夹目录下:cp nginx.conf conf.d/site1.conf

3、编辑site1.conf:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

server {

       listen       8081;

       server_name  www.site1.com;

       location / {

           root   html;

           index  index.html index.htm;

       }

        location /error/ {

           alias  /sylvia/ErrorPages/;

       }

      

        location /ErrorPages/ {

           alias /sylvia/ErrorPages/;

           internal;

        }

       error_page 400 /ErrorPages/HTTP400.html;

       error_page 401 /ErrorPages/HTTP401.html;

       error_page 402 /ErrorPages/HTTP402.html;

       error_page 403 /ErrorPages/HTTP403.html;

       error_page 404 /ErrorPages/HTTP404.html;

       error_page 500 /ErrorPages/HTTP500.html;

       error_page 501 /ErrorPages/HTTP501.html;

       error_page 502 /ErrorPages/HTTP502.html;

       error_page 503 /ErrorPages/HTTP503.html;

   }

引入alias,创建虚拟目录。(参考:https://www.cnblogs.com/kevingrace/p/6187482.html)

4、编辑根配置nginx.conf

在http{}里面最后一行添加:include conf.d/*.conf;

5、重启nginx

浏览器访问:域名+端口+path

________________________________________________________________________________________

nginx 502错误解决方案

如下图:

以下是我的做法,供参考:

1.首先,把后端代码恢复到上一次没报错之前的版本,因为nginx报错不一定绝对是nginx的问题,先把系统恢复成可以运行的状态,这是控制变量法呀。

2.重新加载nginx的配置文件

nginx -c /usr/local/webserver/nginx/conf/nginx.conf

如果你不能全局运行nginx命令,请加上nginx的路径。-c后面的参数为nginx配置文件所在路径这是要求nginx重新添加配置文件地址。

nginx -s reload

重新加载文件

3.重新运行,可以看到会出现如下错误:

  1. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

  2. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

  3. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

  4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

  5. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

  6. nginx: [emerg] still could not bind()

可以看到,是进程端口被占用了,可以看系统是否已有nginx在运行。

运行命令:ps -aux | grep nginx

然后对照,发现第一个和第二个的pid分别为130616,130635,kill掉即可。

kill 130616
kill 130635

问题解决,再次运行nginx,一切正常

Nginx安装环境配置相关推荐

  1. mac nginx加载php 配置,Mac下Nginx安装环境配置详解

    环境信息: Mac OS X 10.11.1 Homebrew 0.9.5 正文 一.安装 Nginx 1.终端执行: brew search nginx brew install nginx 当前版 ...

  2. Nginx网站服务(安装nginx,nginx访问配置)

    目录 一,nginx概述 1,什么是nginx? 2,Nginx应用场景 3.,Nginx的httpd七层代理和四层代理 二,Nginx和Apache的区别 三,手工编译安装nginx服务 1,关闭防 ...

  3. nginx技术(2)nginx的配置详解

    nginx的配置 1,启动nginx 1 2 3 4 5 6 7 [root@centos6 nginx-1.2.9]# /usr/sbin/nginx -c /etc/nginx/nginx.con ...

  4. 实现nginx上配置免费证书Let's Encrypt

    Let's Encrypt 的免费证书有效期为三个月,不过可以免费续期,写一个脚本定期更新即可. 准备一台nginx 服务器 ,将以下三个附件上传到你的nginx服务器. 1.下载脚本文件,wget ...

  5. 推荐一款 Nginx 可视化配置神器

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:逛逛GitHub Nginx 是前后端开发工程师必须掌握的神器.该神器有很多使用场景,比如反向代理.负载均衡.动静分离.跨 ...

  6. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  7. php和nginx安装脚本,Nginx + PHP 配置和启动脚本

    Nginx + PHP 配置和启动脚本,很实用 # nginx.conf server { listen 8080 ; server_name localhost; location / { root ...

  8. php修改后nginx返回不生效,nginx修改配置后不生效的问题

    nginx增加了新的server name配置,发现nginx -s reload之后总是不生效. http和https均可以打开页面,但是页面是别的server页面,使用的证书也是别的server的 ...

  9. nginx lua 配置cc 防攻击-使用lua 配置黑白名单

    nginx lua 配置cc 防攻击-使用lua 配置黑白名单 cc 防攻击和ip 禁止期限 lua_shared_dict _dict 1m; lua_shared_dict _blacklist ...

最新文章

  1. 毕业5年决定你的一生_2
  2. linux 判断网卡类型 有线 无线
  3. POJ3734-Blocks【EGF】
  4. mysql订单表上亿怎么分表_[转]单表上亿的数据量如何分表
  5. [转] Asp.net Session常见问题集锦
  6. keras 多输出问题
  7. c++反转字符,算法优化与实现
  8. 职业经验分享之我是如何转行成为数据分析师的
  9. Kettle spoon
  10. 前端智能化实践——可微编程
  11. beaver彼_如何使用Beaver Builder创建自定义WordPress布局
  12. 【笔记】Polygon mesh processing 读书笔记(1)
  13. 解读温度传感器应用于物联网+冷链行业
  14. 傻白探索Chiplet,Chiplet技术简介(一)
  15. spring mav创建和注销session
  16. Vscode——调整左侧菜单字体大小
  17. 秒云助力中电科32所发布“基于拟态应用集成框架的SaaS云管理平台解决方案”
  18. 不相关、独立、正交的区别与联系
  19. 宸展光电拟与宸鸿科技集团合资;Tableau承诺未来五年培养1000万名数据学员 | 全球TMT...
  20. 低成本FPV制作记录(空心杯+2.5寸FPV)

热门文章

  1. [luogu3290][SCOI2016]围棋
  2. codeforces contest 1119
  3. [luogu3676]小清新数据结构题
  4. mannachar(马拉车)求最长回文子串
  5. CSocketFile类
  6. TCP的三次握手建立连接和四次握手释放连接
  7. 单元测试源码分析之二Mockito自动装配和插桩
  8. 淘宝技术架构从1.0到4.0的演变
  9. 【日程发布】LiveVideoStackCon 音视频技术大会 2022 上海站
  10. 三星电子推出X-net架构用于语音通话