Linux 安装Nginx与使用
最近继续整理Linux相关文档。这次整理的是Nginx,这里将自己整理的详细文档做个笔记。
1. 安装环境依赖包
1、 gcc 语言编译器套件。
2、 pcre 兼容正则表达式的库 rewrite 模块需要。
3、 zlib 提供数据压缩函数库 例如gzip压缩。
4、 openssl 使用https所需的ssl。
一起安装四个依赖环境包 (如果某些组件已安装可以不用安装)
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2. 下载和解压安装包
官网查找最新安装包。
http://nginx.org/en/download.html
下载1.17.1下载地址
http://nginx.org/download/nginx-1.17.1.tar.gz
在/usr/local下创建Nginx目录。 (目录可以自定义)
mkdir nginx
下载
wget http://nginx.org/download/nginx-1.17.1.tar.gz
解压
tar -xvf nginx-1.17.1.tar.gz
3. 安装
切换到安装后的目录。
cd nginx-1.17.1
./configure
make
make install
这几步如果有报错,多数是因为依赖环境没装好比如gcc等,需要重新安装再重复此步骤。
添加到环境变量
ln -s /usr/local/nginx/sbin/nginx /usr/bin
安装成功后查看版本
nginx -v
4. 设置开机启动
vim /lib/systemd/system/nginx.service
注意nginx 路径必须为自己安装的路径
【以下纯文本可以复制】
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true [Install]
WantedBy=multi-user.target
开机启动
systemctl enable nginx
5. Nginx使用与配置
常用命令
nginx # 运行nginx
nginx -s reload # 重新载入配置文件并运行
nginx -s reopen # 重启 Nginx
nginx -s stop # 停止 Nginx
运行Nginx
nginx
直接输入nginx 没有任何其他提示证明启动成功
配置文件
位置(注意自己安装的目录)
vim /usr/local/nginx/conf/nginx.conf
默认配置文件内容
启动nginx后 可以直接通过http://localhost (或者http://自己的ip)访问。查看nginx欢迎页面。
如果服务器80端口被占用了 那么使用nginx命令时会报错。请修改配置文件里的默认80端口即可。
配置文件的修改后必须要:nginx –s reload 才能生效。
静态服务器
server {
listen 80; #监听端口
server_name localhost; #如果绑定了域名 这里填写具体域名
client_max_body_size 1024M; #客户端最大上传文件限制
location / {
autoindex on; //开启目录访问
root /data/wwwroot/webapp; #站点目录
index index.html; #首页
}
}
动静分离
这里展示通过扩展名分离的方法
当然还有通过请求分离使用在localtion /static/ {} 等。
server {
listen 80; #监听端口
server_name localhost; #如果绑定了域名 这里填写具体域名
#静态数据
location ~ .(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
root /data/wwwroot/webapp/html;
}
#动态请求
location ~ .(aspx|cshtml)$ {
proxy_pass http://localhost:8080 #动态服务器站点运行地址
}
}
反向代理
适合单台服务器应用程序部署,转发
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
proxy_pass http://localhost:8080; #代理服务器 比如动态应用程序站点
proxy_set_header Host $host:$server_port; #请求头信息部分信息一并转发到代理服务器
}
}
均衡负载
最常用的,适合多台服务器部署应用程序,对外都是同一个域名或站点访问
# 服务器列表
upstream webapp{
server 192.1681.2:8080 weight=9; #weight 权重
server 192.168.1.3:8080 weight=1;
}
server {
listen 81;
server_name localhost;
client_max_body_size 1024M;
location / {
proxy_pass http://webapp; #代理指向服务器列表
proxy_set_header Host $host:$server_port;
#获取真实客户端访问IP,原理还是将客户端和IP有关的请求头转发到应用服务器
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
配置Https
https需要依赖openssl包。
nginx开启SSL模块
检查自己是否有开启SSL模块
nginx –V (大写的V)
看到有with-http_ssl_module证明已经开启。
如果没有则证明没有开启;以下操作都是针对没有开启with-http_ssl_module的。
进入自己的安装目录执行:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后执行编译
make
备份已经安装好的nginx (注意自己的安装目录)
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
停止正在运行的nginx
nginx -s stop
复制新编译好的nginx覆盖原有nginx
cp ./objs/nginx /usr/local/nginx/sbin/
查看是否配置成功
nginx –V (大写的V)
修改站点配置节点
#server {
listen 443 ssl; #监听端口改为443
server_name localhost; ssl_certificate cert.pem; #证书prm文件路径
ssl_certificate_key cert.key; #证书key文件路径 ssl_session_cache shared:SSL:1m; #设置会话缓存大小
ssl_session_timeout 5m; #客户端可以重用会话缓存中ssl参数的过期时间 ssl_ciphers HIGH:!aNULL:!MD5; #加密方式
ssl_prefer_server_ciphers on; #设置加密算法时,优先使用服务端的加密算法
location / {
root html;
index index.html index.htm;
}
}
配置Http2
配置Http2 Nginx 版本必须大于1.10.0以上。Openssl版本必须大于1.0.2。
在Nginx里面使用Http2必须得使用Https才行。
可以通过Nginx –V查看目前已安装的版本。
Http2需要开启with-http_v2_module模块;
配置with-http_v2_module等模块然后make 然后覆盖安装等。 具体不就不再演示了和配置Https一样。
./configure --prefix=/usr/share/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module
Linux 安装Nginx与使用的更多相关文章
- linux安装Nginx 以及 keepalived 管理Nginx
linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...
- linux学习(十一)linux安装nginx
一.前言 由于本地练手的小demo用的是vue+spring boot来玩的,所以部署的时候想着用Nginx来实现反向代理[即请求转发,解决前后端分离的跨域请求问题],既然要用,那么首先得在服务器上面 ...
- linux安装nginx 并配置文件服务器和代理服务器
linux安装nginx搭建服务并实现文件服务器和代理服务器配置 1.课题的背景和意义 由于编码过程中需要进行文件上传服务,文件上传后 需要有http资源的路径需要访问.原则上可以通过Apache . ...
- linux 安装 nginx 及反向代理配置
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装 ...
- 【转】 linux 安装nginx及编译参数详解
版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf nginx-1.7.4.tar.g ...
- linux 安装nginx 详解
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...
- linux安装nginx,遇坑解决
1.nginx官网下载tar包,解压linux下: 2.进入解压文件夹,执行./configure: 3.报错,原因没有安装nginx相关依赖,如gcc环境,PCRE依赖库 ,zlib 依赖库 ,Op ...
- Linux安装Nginx报错: ./configure: error: C compiler cc is not found
CentOS 7.3 下 安装 Nginx 执行配置命令 ./configure 时提示以下错误: checking for OS + Linux 2.6.32-431.el6.x86_64 x86_ ...
- Linux 安装Nginx(使用Mac远程访问)
阅读本文需要一定的Linux基础 一 Nginx简介 nginx是用c语言编写的一款高性能的http服务器|反向代理服务器|电子邮件(IMAP/POP3)代理服务器 由俄罗斯的程序设计师Igor Sy ...
- linux安装nginx并配置负载均衡
linux上安装nginx比较简单: 前提是需要有gcc或者g++ 1.yum需要的依赖 yum -y install openssl openssl-devel 2.解压pcre库.zlib库 ...
随机推荐
- EBS OAF 发展 URL商标、加密和编码
EBS OAF 发展 URL商标.加密和编码 (版权声明.我原来的或翻译的文章,如需转载,转载的个人学习,转载请注明出处:否则,请与我联系.版权所有) 马克 当您指定页面定义声明URL参数,文本也能够 ...
- IT该忍者神龟Oracle 树操作(select…start with…connect by…prior)
oracle树查询的最重要的就是select-start with-connect by-prior语法了.依托于该语法.我们能够将一个表形结构的以树的顺序列出来. 在以下列述了oracle中树型查询 ...
- 人活着系列Tanya和蔡健雅猪 (floyd)
人活着系列之芳姐和芳姐的猪 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 芳姐特别喜欢猪,所以,她特意养了m个猪圈,顺便在k条无向边,每条边有都有起点v ...
- Android手势识别的发展
在播放器.与手势识别.所以,看看今天的我们Android手势识别. 首先,我们需要站在巨人的肩膀上.有些人举了个例子和说明. 第一章: http://www.2cto.com/kf/201110/10 ...
- android反射组件 (一个)java 它们的定义annotation基础知识
它们的定义annotation它由三部分组成: 它们的定义annotation.使用annotation班.annotation的处理方法. 一.自己定义annotation 元注解包含下面: 1) ...
- WPF生命周期
App.xaml.cs 重写OnStartup方法,完成初始化 wpf中Window的生命周期
- .NET 图片像素比较
/// <summary> /// 图像比较.用于找出两副图片之间的差异位置 /// </summary> public class ImageComparer { /// & ...
- python selenium chrome 测试
#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from se ...
- 如何作为一个优秀的ERP实施顾问
原文地址:如何作为一个优秀的ERP实施顾问作者:天思软件 作一个优秀的ERP实施顾问无论是天思.金蝶,用友,还是其他业务软件.实施顾问的发展道路都差不多. 1.初级实施顾问,中级实施顾问,高级实施顾问 ...
- FilterFactory是一款将图片转换成SVG的在线生成工具。
FilterFactory是一款将图片转换成SVG的在线生成工具. FilterFactory 彩蛋爆料直击现场 FilterFactory是一款将图片转换成SVG的在线生成工具.