最近继续整理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与使用的更多相关文章

  1. linux安装Nginx 以及 keepalived 管理Nginx

    linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...

  2. linux学习(十一)linux安装nginx

    一.前言 由于本地练手的小demo用的是vue+spring boot来玩的,所以部署的时候想着用Nginx来实现反向代理[即请求转发,解决前后端分离的跨域请求问题],既然要用,那么首先得在服务器上面 ...

  3. linux安装nginx 并配置文件服务器和代理服务器

    linux安装nginx搭建服务并实现文件服务器和代理服务器配置 1.课题的背景和意义 由于编码过程中需要进行文件上传服务,文件上传后 需要有http资源的路径需要访问.原则上可以通过Apache . ...

  4. linux 安装 nginx 及反向代理配置

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装 ...

  5. 【转】 linux 安装nginx及编译参数详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf  nginx-1.7.4.tar.g ...

  6. linux 安装nginx 详解

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...

  7. linux安装nginx,遇坑解决

    1.nginx官网下载tar包,解压linux下: 2.进入解压文件夹,执行./configure: 3.报错,原因没有安装nginx相关依赖,如gcc环境,PCRE依赖库 ,zlib 依赖库 ,Op ...

  8. 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_ ...

  9. Linux 安装Nginx(使用Mac远程访问)

    阅读本文需要一定的Linux基础 一 Nginx简介 nginx是用c语言编写的一款高性能的http服务器|反向代理服务器|电子邮件(IMAP/POP3)代理服务器 由俄罗斯的程序设计师Igor Sy ...

  10. linux安装nginx并配置负载均衡

    linux上安装nginx比较简单: 前提是需要有gcc或者g++ 1.yum需要的依赖  yum -y install openssl openssl-devel 2.解压pcre库.zlib库   ...

随机推荐

  1. Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)

    原文:Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1) 首先感谢:http://blog.csdn.net/shuilan0066/article/detail ...

  2. vs2013+cocos2d-x-2.2.3组态

    win8/win8.1+vs2013+cocos2d-x-2.2.3组态 前言: 这是我人生第一篇博客,假设你认为不好,还请见谅!!!!! 工具: 1.vs2013 2.Python2.7(百度一大片 ...

  3. WPF UpdateSourceTrigger的使用

    <Window x:Class="XamlTest.Window8"        xmlns="http://schemas.microsoft.com/winf ...

  4. HALCON 语句的分类

    绿色:注释 褐色:控制和开发算子 蓝色:图像获取和处理算子 浅蓝色:外部函数

  5. Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)

    转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...

  6. Win10《芒果TV》更新v3.4.10春光版:优化弹窗体验,修复热键和推送

    春来触地故乡情,忽见风光忆两京,金谷踏花香骑入,曲江碾草钿车行,Win10版<芒果TV>更新v3.4.10,进一步优化弹窗体验,修复热键和推送异常. Win10版<芒果TV>V ...

  7. Ubuntu 搭建 GitLab 笔记

    简介 GitLab 社区版可以提供许多与 GitHub 相同的功能,且部署在属于自己的机器上,我们会因为网络及其他一些问题而不便使用 GitHub ,这时部署一个 GitLab 是最好的选择. 下载 ...

  8. Inno Setup制作最简单的安装程序

    目标就是[把exe程序放到制定目录,然后自动把工程需要的dll放到system32目录下,自动注册注册表.] 实现上述需求,用Inno Setup可以非常方便快捷实现. 安装Inno Setup. 点 ...

  9. C#高性能大容量SOCKET并发(零):代码结构说明

    原文:C#高性能大容量SOCKET并发(零):代码结构说明 C#版完成端口具有以下特点: 连接在线管理(提供在线连接维护,连接会话管理,数据接收,连接断开等相关事件跟踪): 发送数据智能合并(组件会根 ...

  10. nodejs redis遇到的一个问题解决

    v ar redis = require("redis"), client = redis.createClient({host:'tc-arch-osp33.tc', port: ...