一篇文章教会你在Windows和Linux系统下搭建Nginx

【一、前言】

本文章主要讲解Nginx的基础搭建(如果有不知道web服务器的可以百度,或者我再做一篇图解web)。

Nginx在互联网中作为一个不可或缺的组件,我们看到LNMP集成环境。LNMP(Linux+Nginx+Mysql+Php);如果只知道这个不知道Nginx的搭建过程的话我们有Nginx的主要特性会错过。比如Nginx的优点:

高可用(一个组件可以服务上千人)

热部署(可以做到不停机就能升级基础设施服务)

反向代理(通常可以,上游反向代理,下游负载均衡处理外部请求)

【二、Nginx搭建】

1、首先先下载一个版本。

  1. 1)Nginx社区版2)Nginx企业版 两者没有太大区别,都支持主要几大功能。3)淘宝版本的Nginx对IO进行了优化,至今淘宝在使用的Tengine。

2、Nginx版本分支

3、版本如下:

1)MainLine Version(主线版本开发)

2)Stable(稳定版本)

3)Legacy Version(历史版本)– 如果项目需要上到选定版本可以选这个

4、下载(我们以Nginx Stable Version为例子)。我们能看到Stable Version底下有三个栏目:

1)CHANGE-1.16 是介绍这个版本和上个版本的区别

2)Nginx-1.16 pgp 这个是Linux版本下载选项,将会下载倒tar.gzNginx/Windows

3)1.16.1 这个是Windows系统下载的,将会下载window包

【三、Nginx文件目录(如下)】

1、文件目录如下所示:

2、文件内容解析如下:

1)conf(存放配置文件):Nginx.conf(主要的建站配置文件夹)

2)contrib(是一些Linux的Vim配置文件):作用是将整个vim文件移动到~/.vim/profile目录底下,就会在vim下有高亮表现

3)doc (documentation 文档目录):一些日志改变以及readme文档还有License授权

4)html(默认的html,网站的入口):

  • index.html 默认网页
  • 50x.html 常见的错误页面

5)logs(默认的日志文件夹)

6)temp(临时文件目录)

【四、Windows下搭建】

首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示:

1、Windows下我们直接点击Nginx根目录下的Nginx.exe即可立即使用了。闪退是正常现象,之后检查端口查看是否被占用,第一次启动推荐使用命令行启用 :

.\nginxpath\nginx.exe(一直停留不变则说明开启成功)  

2、 然后我们打开网址:

http://localhost:80

3、这样就是成功 如果失败了看下面。使用Windows + R启动命令行,拥有最高权限,输入命令:

netstart -ano | findstr 80 #找到占用的pid号。

4、然后将其kill掉,命令如下:

taskkill /F /pid

5、之后在使用最开始的方法启动即可。

【五、Linux环境下(Centos下)搭建】

1、Linux环境下使用最高权限执行(不考虑用户权限)。

2、首先先安装被依赖的插件,命令如下:

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

3、之后依次如此下列的命令,记得看注释噢~

tar -zxvf Nginx-1.16.1.tar.gz
cd Nginx-1.16.1
# 这下面几步骤是进行加载vim插件的,使其在修改conf的时候可以进行常亮
cd contrib
mv contrib ~/.vim
cd ..
# path自己需要安装的地方
./configure -prefix=/path/Nginx
# configure完成后即可,make && make install去
# configure 是进行配置化操作
# make 是进行编译操作
# make install 是进行编译后文件的部署行为
# 为了方便就将make && make install 一起进行

4、之后运行Nginx,命令如下:

cd /nginxInStallPath
./Nginx
#没有任何信息则是运行成功了。Linux的没有任何消息就是最好的消息
curl http://localhost

5、至此Nginx搭建完成。下列命令是一些常规的操作命令:

./Nginx -s reload #重新加载(Nginx能做到热部署的一个原因)
./Nginx -s stop #关闭服务器
./Nginx -t # 可以测试刚修改的Nginx.conf能否生效

【六、Nginx.conf配置】

1、下面是进行Nginx.conf配置,命令如下:

# 下面是进行Nginx.conf配置
cd conf
vim Nginx.conf

2、修改文件中的内容如下所示:

worker_processes number;
# error_log path #错误日志文件位置
# error_log path notice 提醒错误文件位置
# error_log path info 一些Logger::info的输出位置
events {
    work_connections 1024; #定义最大连接数量
}


# http 定义http的位置(高难度配置下章在讲解)
http {
    include mine.types; #定义包含类型,网页请求request_type的地方属性值设置地方在mine.types文件里卖你
    default_type:application/ocet-stream #设置属性流
    sendfile    on; #从一个 buffer到另一个 buffer的拷贝用于优化速度
    #tcp_nopush on;
    keepalive_timeout 60; #设置请求超时时间


    server {
        listen 80 # 设置监听的端口
        server_name localhost # 设置监听的域名
        charset koi8-r #设置字符集


        #access_log logs/host.access.log main #设置主访问日志存储


        location / { #设置正则表达式匹配localhost/底下的目录按照此位置进行处理,
                     #下篇文章配置php会用到
            root html; #设置网站根目录为html路径
            index index.html index.htm; #设置没有确定的资源文件下,会自动访问index.hmtl例如
                                        # 例如访问http://localhost会实际访问http://localhost/index.html
                                        # 或者 http://localhost/index.htm
           }
       error_page 404       /404.html #自定义错误页面代码下访问的页面


       error_page 500 502 503 504 /50x.html
       location = /50.html { #访问路径为50x.html 无论是500, 502, 503, 504, 505这些页面
            root html;
         }
        # location ~\.php$ {
        #   proxy_pass http://127.0.0.1;
        # }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}


       #location ~/\.ht {
       #    deny all;拒绝所有用户访问
      # }
    }
# 底下是配置https,https是现在还在比较流行的一种安全web服务器的基本要求
    https {
    }
}

【七、总结】

1、Nginx是现代互联网企业中不可缺少的一门技术,在微服务中也极为重要,尤其反向代理所带来的抗风险能力极为重要,热部署能力。

2、本文主要讲述了Nginx在windows和Linux系统下的搭建过程,希望对搭建的学习有帮助。

看完本文有收获?请转发分享给更多的人

IT共享之家

入群请在微信后台回复【入群】

——————- End ——————-

往期精彩文章推荐:

上古神器Gvim–从入门到精通

前言

Gvim是一款十分优秀的文本编辑器,被网友称为‘上古神器’,它是Window下的Vim编辑器,可以十分方便的帮助开发者进行文本内容的定位和其它操作,下面就让我们来看看这个上古神器到底是啥样的吧。

一、安装GVim

这里为了方便大家的使用,我给大家提供了个下载地址:

https://u062.com/file/7715018-446595897

下载后直接双击按照提示来操作即可。

二、Gvim的操作模式

Gvim和Vim差不多,都是有三个模式:

1.命令模式

在这个模式下可以输入命令来操控文件,但它不会输入字符,我们刚启动Gvim时的模式就是命令模式。

2.插入模式

在这个模式下可以输入文本内容到文件中。可以在几种不同的情况下插入字符。

3.尾行模式

可以在里面输入很多命令,先按ESC,然后通过“:”符号进入到这个模式,输入:

q:退出程序

w:保存文件

注:如果尚未保存文件则无法退出,会有提示。可以WQ一起使用。

三、Gvim的基本操作

1.控制光标的位置

进入命令模式,然后输入方向按键,如下:

h(←)光标向左移动一个字符
j(↓)光标向下移动一个字符
k(↑)光标向上移动一个字符
l(→)光标向右移动一个字符
+   光标移动到非空格符的下一行
-   光标移动到非空格符的上一行
n+空格光标会移动到n个空格处
0+回车   在尾行模式中 按下0然后回车,会将光标移动到第一位 插入命令中的‘H’也可以 gg和1G也可以
$+回车   在尾行模式中 按下$然后回车,会将光标移动到最后一位 插入命令中的‘L’也可以
M插入命令中,光标移动到屏幕的中央那一行的第一个字符
G插入命令中,光标移动到最后一行
num+G n为数字。移动到这个档案的第 n 行
b     移动光标在某行首位
e   移动光标在某行末尾
w     移动到光标的下一行

2.删除字符

删除字符的方式也有很多种。

1).删除光标所在位置字符

进入到命令模式,然后输入”x(右边的值删除)” “s(删除并进入插入模式)” “cl(同s)” “dl(同x)” “dh(左边的值删除)”

2).删除光标所在位置全部字符

进入到命令模式,然后输入”dd”,也可以输入”cc”,只是它删除完后就会进入插入模式

3).删除光标所在的位置的换行符

进入到命令模式,然后输入”J”

4).删除光标所在某行位置以及后面的所有值

进入到命令模式,然后输入“d$”

5).删除光标所在某行位置以及后面的所有值并进入插入模式

进入到命令模式,然后输入“c$”

3.插入字符

首先你得按下ESC ,这是第一步,然后:

1). 按下”i“

将内容插入到当前光标所在的位置的前面

2).按下”o”

将内容插入到当前光标所在的位置的下一行

3).按下”a”

将内容插入到当前光标所在的位置的后面

4.替换字符

进入命令模式,输入“r”,然后输入替换的文本即可,“R”可替换多个字符

全部替换:进入尾行模式下,输入“%s/要替换的字符/替换后的字符/g”

5.恢复删除的字符

进入命令模式,输入”u”,也可在尾行模式中输入“put”

6.复制字符

进入命令模式,然后

输入”y2w”即可复制两个字符

输入“yy”即可复制某行全部字符

输入“2yy”即可复制两行全部字符

输入”y0″ 即可复制光标所在的那个字符到该行行首的所有数据

输入“y$”即可复制光标所在的那个字符到该行行尾的所有数据

输入“yG”即可复制光标所在行到最后一行的所有数据

输入”y1G”即可复制光标所在行到第一行的所有数据

7.粘贴字符

进入命令模式,输入“p”即可在光标位置处的上一行粘贴复制的字符

输入”P”即可在光标位置处的下一行粘贴复制的字符

8.帮助

你可以通过帮助文件具体了解Gvim的神器功能,当然你可以直接在Gvim上获取。

可以按“F1”获取,也可以在尾行模式下输入“:help”也可获取到。

9.搜索指定字符

进入命令模式,输入“/要搜索的字符”,然后便会高亮显示搜索到的字符,在回车输入”n”,便会移动到检索到的值上。“3n”则查找第三次出现的字符,输入“?要搜索的字符”也可以达到同样的效果,只是搜索方向相反。

有时候搜索字符你如果不考虑大小写的话,可以设置忽略大小写:

先进入命令模式,然后回车输入:

:set ignorecase

然后 进行检索,这个时候只要是符合条件的都会高亮显示,不管是否大小写。

10.分隔窗口

可将一个文件的命令窗口分为两个,命令模式下输入“:split”即可。

11.其它操作

1).保存

尾行模式下输入:“w”

2).退出

尾行模式下输入:“q”

3).保存并退出

尾行模式下输入:“wq”

4).执行shell命令

尾行模式下输入:“!”

5).把shell执行结果读入文档

尾行模式下输入:“r!”

四、总结

通过对Gvim 的初步了解,我们认识到了这款编辑器的神奇之处,堪称上古神器是一点都不夸张。其实,它的强大功能远不止我所讲到的这些,它还有更多实用的功能,只是我所讲的已经够我们平时开发使用了。

****看完本文有收获?请转发分享给更多的人****

IT共享之家

入群请在微信后台回复【入群】

****看完本文有收获?请转发分享给更多的人****

—————— End ——————

往期精彩文章推荐:

Xshell远程连接的具体操作和Xshell多会话设置小技巧

前几天给大家分享了Xshell的安装教程,今天给大家分享如何在Xshell中进行远程连接,并且分享一下如何设置一条命令可以发送多个终端,这里以Xshell6为例进行说明,具体的教程如下。

1、依次点击左上方的“file”——>“New”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

2、尔后弹出下图界面,是新会话的设置界面,在这里我们需要设置的是会话的名称,主机IP地址,在红色框框对应的栏目中。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

3、这里我将其命名为slave2,然后给出终端的IP地址,设置完成之后点击“OK”即可。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

4、此时在左侧的“所有会话”目录下可以看到刚刚新建的slave2会话,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

5、选中刚刚创建的会话slave2,然后右键,选中“OPEN”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

6、尔后将会弹出一个远程安全警告界面,意思是这次远程连接你是希望“一次性连接”还是“接受并保存”。考虑到我们经常要远程连接到终端,一般的我们选择“接受并保存”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

7、弹出下图界面,在这里我们需要给出远程连接的用户名。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

8、用户名一般是root,如果想让Xshell记住你的登录的话,记得勾选下图中的空白框框,如下图所示,尔后点击“OK”进行连接。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

9、这一步需要输入远程终端或者服务器或者虚拟机等的密码,如下图所示,然后可选择是否让Xshell记住你的登录密码。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

10、在这里填入登录密码,并勾选“记住密码”的下拉框,尔后选择“OK”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

11、上述步骤完成之后,Xshell便会自动去进行连接,如下图所示,远程连接终端slave2成功。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

至此,Xshell进行远程连接终端的教程已经完成,下面介绍一个小技巧,用于一次操纵多个终端之用,具体教程如下。

1、依次点击Xshell主页选项卡中的“View”——>“Compose”——>“ComposeBar”(条框形式)或者“Compose Pane”(面板形式)。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

2、选择完成之后,想Xshell的下方会出现一个小空白框,用于写入操纵命令的。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

3、点击空白框的左侧小logo,然后右键,如下图所示。选中第三个“To All Sessions”,意思是将操作命令发送到所有会话中,也就是让命令一次性执行在多个终端上。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

4、下面验证一下,输入命令“ls”,如下图所示。可以看到三个终端上都执行了“ls”这条命令。一般的,当一次性执行之后,在其他的会话窗口的左边有个蓝色的感叹号产生,如下图所示,代表该命令也执行了。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

至此,本文该告一段落了,主要讲述了Xshell远程连接的具体操作步骤和Xshell多会话设置的小技巧,这个小技巧十分常用,而且还可以极大的提高我们的效率,希望小伙伴们都可以掌握并且运用到实践中去。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

Sublime Text编辑器配置Python解释器简易教程

前天在微信上遇到一个小伙伴问我一个关于Sublime text配置Python解释器的问题,可能是初学者,对这方面还不是很懂,想使用快捷键但是徒劳一场,因为缺少Python解释器,直接按下快捷键Ctrl+B是不会得到想要的结果的。

Sublime Text编辑器配置Python解释器简易教程

鉴于此,如果有小伙伴想使用Sublime跑Python程序的话,那么配置Python解释器是必不可少的一步,这里小编整理这篇手把手教程,希望为后来者铺砖引路。下面是详细教程:

1、首先打开Sublime,如下图所示,然后选择“Preferences”选项卡。

Sublime Text编辑器配置Python解释器简易教程

2、点击第一个选项“Browse Packages…”,然后系统会自动定位到Sublime的安装包目录。

Sublime Text编辑器配置Python解释器简易教程

3、尔后会弹出下图的文件夹界面。

Sublime Text编辑器配置Python解释器简易教程

4、在这堆文件夹中找到Python这个文件夹,如下图所示,然后进入该文件夹,找到Python.sublime-build这个文件。

Sublime Text编辑器配置Python解释器简易教程

5、在Sublime中打开该文件,如下图所示。

Sublime Text编辑器配置Python解释器简易教程

{

“cmd”:[“python.exe”,”-u”, “$file”],

“path”:”C:\\Python34″,

“file_regex”: “^[ ]*File\”(…*?)\”, line ([0-9]*)”,

“encoding”: “gbk”,

“selector”: “source.python”

}

图片中显示的内容是我更新之后的内容,原始内容没有这么丰富。主要是更改两个地方,其一是添加Python解释器路径,其二是添加编码部分,一般选择的编码是utf-8或者gbk,也有的是用cp936的,主要是防止Sublime Text报[Decode error – output not utf-8]的错误。一般的,如果我们不设置编码的话,一旦输出除英文之外的其他的语言,就会出现编码问题,一个让人脑壳疼的问题,一般情况下几种编码多尝试一下问题都不大。

6、更改完Python.sublime-build文件之后,按下快捷键Ctrl+S进行保存即可。之后任意打开一个Python文件,然后在Sublime中依次点击选项卡ToolsàBuild SystemàPython,如下图所示,整个过程相当于完成了Sublime与Python解释器的完美“联结”。

Sublime Text编辑器配置Python解释器简易教程

7、现在可以通过快捷键Ctrl+B或者依次添加选项卡ToolsàBuild,如下图所示,之后就可以运行当前Python文件了,效果如下图所示。文件的输出部分在Sublime的下方,一般的是呈现出灰色的一个长方形部分。

Sublime Text编辑器配置Python解释器简易教程

8、至此,关于Sublime中配置Python解释器和[Decode error – output not utf-8]报错的问题已经顺利解决了。

Sublime Text编辑器配置Python解释器简易教程

希望后面的小伙伴再次碰到该问题的时候,就可以少走弯路啦。虽然小编目前用的是 Sublime Text 2,不过Sublime Text 3的配置方法与Sublime Text 2如出一辙,不再赘述。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

CDH安装系统环境准备——虚拟机网络配置

1、修改网络配置文件

[root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

配置IP地址、网关、掩码、DNS等,如下所示:

以master为例,其他的从节点配置是一样的步骤,只需要更改对应的IP即可。

DEVICE=eth0

HWADDR=00:0C:29:33:85:27

TYPE=Ethernet

UUID=0099dc9f-a67a-4af5-a2c2-0b96e95ffe5d

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=202.118.86.11

NETMASK=255.255.255.224

GATEWAY=202.118.86.1

DNS1=8.8.8.8

DNS2=8.8.4.4

IPV6INIT=no

CDH安装系统环境准备——虚拟机网络配置

在slave1中,网络配置文件内容如下:

DEVICE=eth0

HWADDR=00:0C:29:2E:73:5E

TYPE=Ethernet

UUID=6488cec5-24fe-487e-b2f6-83e1de889292

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=202.118.86.12

NETMASK=255.255.255.224

GATEWAY=202.118.86.1

DNS1=8.8.8.8

DNS2=8.8.4.4

IPV6INIT=no

CDH安装系统环境准备——虚拟机网络配置

同理,其他从节点上的配置文件内容也是如此,只需要更改对应的IP即可。

2、

ping网络进行测试(每台服务器),确定网络可用

[root@master ~]#ping master

[root@master ~]#ping -c 3 slave1

[root@master ~]#ping -c 3 slave2

[root@master ~]#ping -c 3 slave3

[root@master ~]#ping -c 3 slave4

CDH安装系统环境准备——虚拟机网络配置

至此,群集虚拟机网络配置完成~~