Linux上安装nginx
环境:centos7 nginx1.16.1(源码安装)
一、下载nginx源码包
地址:http://nginx.org/en/download.html
Mainline version(主线版本)Stable version(稳定版本)Legacy versions(传统老版本)
下载稳定版:nginx-1.16.1.tar.gz
二、安装相关依赖
gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel
gcc,gcc-c++ #c,c++编译器,用来编译安装
zlib,zlib-devel #压缩和解压的函数库,网页文件压缩要用到它
openssl,openssl-devel #网络通信安全协议库,包含众多的密码算法、公钥基础设施标准以及SSL协议
三、安装Nginx
(1).解包
[root@izm5e8nyz28va3a786y465z src]# tar -zxvf nginx-1.16.1.tar.gz
(2).编译配置(进入到解压的文件夹)./configure --选项
./configure --prefix=/usr/local/nginx/ --sbin-path=/usr/local/nginx/sbin/ --conf-path=/usr/local/nginx/conf/ \
--error-log-path=/usr/local/nginx/logs/error.log --pid-path=/usr/local/nginx/run/nginx.pid --http-log-path=/usr/local/nginx/logs/access.log \
--http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ \
--http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module \
--with-http_stub_status_module --with-http_realip_module --with-pcre --user=nginx --group=nginx
注意:1 若设置了用户名,用户组,则安装前先创建用户:useradd -M -s /sbin/nologin
2 若设置了文件路径,则先创建相关目录,并将目录用户所有者,所属组设为配置的值。路径是目录则最后以'/'结尾,以免出错。
如 =/usr/local/nginx/conf/ 如果结尾没/,conf会被当做文件
1. 路径配置(不设置则为默认路径)
--prefix=/usr/local/nginx1.16.1 #nginx的安装路径,所有其它路径都要依赖该选项
--sbin-path=/usr/sbin/nginx #指定nginx二进制文件的路径,不指定则:/usr/local/nginx/sbin/nginx
--conf-path=/etc/nginx/nginx.conf #nginx配置文件路径,不指定则:/usr/local/nginx/conf/nginx.conf
--error-log-path=/var/log/nginx/error.log #nginx错误日志路径,不指定则:/usr/local/nginx/logs/error.log
--pid-path=/var/run/nginx/nginx.pid #pid文件路径,不指定则:/usr/local/nginx/logs/nginx.pid
--http-log-path=/var/log/nginx/access.log #http访问日志路径
--http-client-body-temp-path=/var/tem/nginx/client #存储客户端请求主主体的临时目录
--http-proxy-temp-path=/var/tem/nginx/proxy #存储代理服务器接收数据的临时文件
--http-fastcgi-temp-path=/var/tem/nginx/fcgi # 设置存储HTTP fastcgi的临时文件的路径
2.模块配置
--http_v2_module #用于支持http2协议
--with-http_ssl_module #用于支持https协议
--with-http_flv_module #视频直播模块
--with-http_gzip_module #是nginx默认编译的模块,对网页文件压缩
--with-http_gzip_static_module #加载gz静态缓存模块,开启后服务器优先返回gz文件
--with-http_stub_status_module #http服务状态模块
3. 其它功能启用
--with-pcre #设置pcre库源码路径,若是yum安装则是默认路径不用写。用以开启对正则表达式支持
--with-openssl #启用OpenSSL(安全套接字层密码库)启用后可支持https,ssl证书
3.用户,用户组配置
--user=www #nginx工作进程的用户名,默认:user为 nobody;
nobody 是系统用户,是一个不能登陆的帐号,一个特殊用途的用户 ID,uid<500一般都是系统ID
--group=www #nginx工作进程的用户组,默认:group nogroup
nginx 只有一个主进程和多个工作进程,主进程主要读取和评估配置文件正确性,以及管理工作进程
工作进程是真正的网络请求处理的进程
(3)编译
make
(4)安装
make install
四、nginx服务控制
1. 启动nginx
[root@izm5e8nyz28va3a786y465z tmp]# nginx
nginx: [emerg] mkdir() "/var/tem/nginx/client" failed (2: No such file or directory)
原因:缺少这个文件夹,nobody默认用户没有权限穿件这个文件夹
创建:mkdir -p /var/tem/nginx/
修改所有者:chown nobody /var/tem/nginx/
之后,nginx能正常启动
若要访问到nginx主页,则需要开放80端口,或直接关闭防火墙
关闭防火墙:(不推荐)
1. firewall-cmd --state #查看防火墙状态,running / no running
2. systemctl stop firewalld.service #关闭防火墙
3. systemctl disable firewalld.service #禁止开机启动
开放80端口:
1. firewall-cmd --list-port #查看开放的端口信息
2. firewall-cmd --query-port=80/tcp #查看80端口是否开放
3. firewall-cmd --zone=public --add-port=80/tcp --permanent #开放80端口(--permanent永久生效)
4. firewall-cmd --reload #重启防火墙
2. 服务控制
nginx指令官方文档:https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/#upgrading-to-a-new-binary-on-the-fly
nginx服务在运行时,会保持一个主进程和一个或多个 worker process 工作进程。可以通过给Nginx服务的主进程发送信号来控制服务
2种发送信号的方式:nginx二进制文件 或 kill 命令
nginx命令:
nginx –s stop/start/reload/quit #/停止/启动/重启/请求结束后退出
nginx -t #检测配置文件是否正确
nginx -V #查看编译时配置信息和版本号
nginx -v #查看nginx版本号
nginx -h #查看nginx命令帮助
nginx -p #设置nginx安装路径
nginx -c filename #用指定的配置文件启动Nginx服务
nginx -g directives #nginx启动时执行的指令
kill命令:kill single 主进程号 (实际使用中多用此种方式)
Linux上安装nginx的更多相关文章
- 01 linux上安装 nginx
一:linux上安装 nginx 下载nginx:wget http://nginx.org/download/nginx-1.6.2.tar.gz 解压:tar zxvf nginx-1.6.2.t ...
- [运维] 如何在 Linux 上安装 Nginx 服务器(一)
原因 因为小程序对素材的大小是由要求的, 所以为了简化小程序上的内存要求, 在Linux上安装nginx来作为静态资源服务器, 这篇为第一篇, 主要介绍怎么在Linux上安装nginx, 下一篇将会介 ...
- 【Linux】Linux上安装Nginx
本文介绍Linux环境安装Nginx,这里用的Linux系统是CentOS 7.2. 1. 从Nginx官网下载Nginx.这里用的版本为:1.13.6. 2. 将下载下来的Nginx上传到Linux ...
- 如何在 Linux 上安装 Nginx (源码安装)
如何在 Linux( CentOS ) 上安装 Nginx 1.下载 nginx 链接 : https://pan.baidu.com/s/1sll0Hrf 密码 : xnem 2.安装 gcc ( ...
- Linux上安装nginx+tomcat负载均衡
1.Ngnix Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行. 其特点是占有内 ...
- Linux上安装Nginx依赖环境和库、Nginx安装,Nginx服务命令
安装Nginx依赖环境和库.Nginx安装,Nginx服务命令 因为Nginx官方提供的是C源码,要自己进行编译,所以需要自己拥有编译所依赖的环境和库才可正常编译 安装gcc yum -y insta ...
- linux上安装nginx详细步骤
一.安装依赖包 yum install gcc gcc-c++ pcre-devel patch libffi-devel python-devel zlib-devel bzip2-devel op ...
- Linux上安装Nginx及常用命令
一.Linux安装软件常用方法 1.rpm(或pkg)安装,类似于Windows安装程序,是预编译好的程序. 1)使用的是通用参数编译,配置参数不是最佳 2)可控制性不强,比如对程序特定组件的定制性安 ...
- 在Linux上安装nginx时遇到的问题,真的好坑啊!!!!
解决了两个小时愣是卡着没动,结果一请大神问题就迎刃而解,怪自己太粗心,一下午差点就被这个问题安排的明明白白,直接上问题: makeFile时的问题: checking for OS + Linux ...
随机推荐
- 7.Python网络编程_多线程共享全局变量问题
Python多线程支持全局变量的共享操作,但是它存在很多问题,先来看以下程序,该程序理论上执行完毕后全局变量g_num的值应该是2000000,但是在实际运行中,结果不足理论值 import thre ...
- python27期前端
第一天笔记:HTML:是一种标识性的语言css:层叠样式表是一种用来表现HTML等文件样式(效果)的计算机语言JavaScript:简称“JS”,是一种属于网络的脚本语言 常用来为网页添加各式各样的动 ...
- (day49)Django框架简介
目录 一.Web框架 (一)本质 (1)动静态网页 (2)wsgiref模块 (3)jinja2模块 (4)手动实现思路 (二)python主流框架 (1)Django (2)flask (3)tor ...
- Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- 【新特性速递】单元格导航(上下左右键,TAB键和ENTER键)
上下左右按键 其实单元格导航(上下左右按键,需要启用表格的ShowSelectedCell属性)一直都存在,只不过之前的版本(v5.5.0)有一些小的BUG. BUG1 比如锁定列存在时,上下左右键只 ...
- [SpingBoot guides系列翻译]Redis的消息订阅发布
Redis的消息 部分参考链接 原文 CountDownLatch 概述 目的 这节讲的是用Redis来实现消息的发布和订阅,这里会使用Spring Data Redis来完成. 这里会用到两个东西, ...
- AOP软件设计
什么是面向方面的编程? 为什么面向方面的软件设计? 术语 关注 视口 关注点分离 人工制品 横切 方面 编织 零件 形式主义 第二节 案例研究 关注 人工制品 横切 方面 AspectJ 加入点 切入 ...
- 本地运行vue项目webpack提示 Compiled successfully
最近在github下载运行别人的vue项目后,如下图提示编译成功,但项目并没有启动 最开始我以为是端口问题,修改了config-index.js里的port端口,重新运行后依然是上图提示 ...
- 离线缓存 Visual Studio 2019 (VS2019)的方法
1. 下面是以管理员身份运行命令行: https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-en ...
- 使用Redis作为Spring Security OAuth2的token存储
写在前边 本文对Spring Security OAuth2的token使用Redis保存,相比JWT实现的token存储,Redis可以随时吊销access_token,并且Redis响应速度很快, ...