欢迎访问站腾网!

站腾网

您现在的位置是:站腾网 > SEO知识 >

SEO知识

CentOS7安装Nginx及配置

发布时间:2021-07-05SEO知识评论
1、安装在Centos下,yum源不提供Nginx的安装,可以通过切换yum源的方法获得安装。也可以通过直接下载安装包的方法,**以下命令均需root权限实行**:第一安装必要的库。选定**/usr/local**为

每一个url请求都会对应的一个服务,nginx进行处置转发或者是当地的一个文件路径,或者是其他服务器的一个服务路径。而这个路径的匹配是通过location来进行的。大家可以将server当做对应一个域名进行的配置,而location是在一个域名下对更精细的路径进行配置。

在–prefix后面接以下命令:

安装所需环境

检查是不是启动成功:

停止:

$/usr/local/nginx/sbin/nginx–ssTOP

以上是最容易的通过nginx达成静态文件转发、反向加盟和负载均衡的配置。在nginx中所有些功能都是通过模块来达成的,譬如当大家配置upstream时是用upstream模块,而server和location是在httpcore模块,其他的还有流控的limt模块,邮件的mail模块,https的ssl模块。他们的配置都是类似的可以再nginx的模块文档中找到详细的配置说明。

我下载的是1.12.0版本,这个是现在的稳定版。

测试配置文件是不是正常:

$/usr/local/nginx/sbin/nginx–t

1、安装

安装nginx需要先将官方网站下载的网站源码进行编译,编译依靠gcc环境,假如没gcc环境,则需要安装:

yuminstallgcc-c++

如此访问host时,就都被转发到172.16.1.1的8001端口去了。

upstreammyserver;{ip_hash;server172.16.1.1:8001;server172.16.1.2:8002;server172.16.1.3;server172.16.1.4;}location/{proxy_passhttp://myserver;}

配置

nginx不只支持http协议,还支持https,所以需要在Centos安装OpenSSL库。

yuminstall-yopensslopenssl-devel

./nginx-squit:此方法停止步骤是待nginx进程处置任务完毕进行停止。./nginx-ssTOP:此方法等于先查出nginx进程id再用kill命令强制杀掉进程。

$pkillnginx

1.7配置

1、gcc安装

$./configure

编译安装

make makeinstall

2.自概念配置

./configure\ --prefix=/usr/local/nginx\ --conf-path=/usr/local/nginx/conf/nginx.conf\ --pid-path=/usr/local/nginx/conf/nginx.pid\ --lock-path=/var/lock/nginx.lock\ --error-log-path=/var/log/nginx/error.log\ --http-log-path=/var/log/nginx/access.log\ --with-http_gzip_static_module\ --http-client-body-temp-path=/var/temp/nginx/client\ --http-proxy-temp-path=/var/temp/nginx/proxy\ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi\ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi\ --http-scgi-temp-path=/var/temp/nginx/scgi

server{listen80;server_namehost1;roothtml;indexindex.htmlindex.htm;}server{listen80;server_namehost2;root/data/www/html;indexindex.htmlindex.htm;}

Nginx是C语言开发,建议在linux上运行,当然,也可以安装windows版本,本篇则用CentOS7作为安装环境。

location=/{#只匹配"/".[configurationA]}location/{#匹配任何请求,由于所有请求都是以"/"开始#但更长字符匹配或者正则表达式匹配会优先匹配[configurationB]}location^~/images/{#匹配任何以/images/开始的请求,并停止匹配其它location[configurationC]}location~*.(gif|jpg|jpeg)${#匹配以gif,jpg,orjpeg结尾的请求.#但所有/images/目录的请求将由[ConfigurationC]处置.[configurationD]}请求:/->符合configurationA/documents/document.html->符合configurationB/images/1.gif->符合configurationC/documents/1.jpg->符合configurationD

1.7.4静态文件映射

依旧是直接命令:

tar-zxvfnginx-1.12.0.tar.gz cdnginx-1.12.0

4、OpenSSL安装

$tar-zxvfzlib-1.2.11.tar.gz

即在rc.local增加启动代码就好了。

vi/etc/rc.local

1.5.2$wgethttp://nginx.org/download/nginx-1.8.0.tar.gz

大家在upstream中指定了一组机器,并将这个组命名为myserver,如此在proxypass中只须将请求转移到myserver这个upstream中大家就达成了在四台机器的反向加盟加负载均衡。其中的ip_hash指明了大家均衡的方法是根据用户的ip地址进行分配。另外还有轮询、指定网站权重轮询、fair、url_hash几种调度算法。

1.7.5概要

比如大家存在两个子项目passport和wan就可以通过在nginx的配置文件中配置两个server,servername分别为passport.bigertech.com和wan.bigertech.com。如此的话不一样的url请求就会对应到nginx相应的设置,转发到不一样的后端服务器上。

root后跟的指定目录是上级目录,并且该上级目录下要含有和location后指定名字的同名目录才行。

$wgethttp://zlib.net/zlib-1.2.11.tar.gz

root

开机自启动

以上安装办法nginx的配置文件坐落于

$cd/usr/local/

当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,用-sreload不需要先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:

增加一行/usr/local/nginx/sbin/nginx

1.5.9显示错误:./configure:error:theHTTPgzipmodulerequiresthezliblibrary

2.重新加载配置文件:

接收请求的服务器需要将不一样的请求按规则转发到不一样的后端服务器上,在nginx中大家可以通过构建虚拟主机的定义来将这部分不一样的服务配置隔离。

OpenSSL是一个强大的避孕套接字层密码库,囊括主要的密码算法、常见的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的用。

查看nginx进程:

psaux|grepnginx

部分命令如下:

假如你需要将这个目录展开,在这个location的末尾加上「autoindexon;」就好了

访问文件的配置主要有root和aliasp’s两个指令。这两个指令有什么区别容易弄混:

yum-yinstallopensslopenssl-devel

1.5.8时提示以下错误:

includevhosts/*.conf;

~波浪线表示实行一个正则匹配,区别大小写~*表示实行一个正则匹配,不区别大小写^~^~表示一般字符匹配,假如该选项匹配,只匹配该选项,不匹配别的选项,通常用来匹配目录=进行一般字符精确匹配

就可以把vhosts的文件都包含进来啦。

1.7.2Localtion

3、zlib安装

重启:

$/usr/local/nginx/sbin/nginx–sreload

location/{

root/data/www/host2; indexindex.htmlindex.htm;

启动、停止nginx

cd/usr/local/nginx/sbin/ ./nginx ./nginx-ssTOP ./nginx-squit ./nginx-sreload 启动时报80端口被占用: nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

zlib库提供了非常多种压缩和解压缩的方法,nginx用zlib对http包的内容进行gzip,所以需要在Centos上安装zlib库。

yuminstall-yzlibzlib-devel

1.5.6(注:--with-http_ssl_module:这个不加后面在nginx.conf配置ssl:on后,启动会报nginx:[emerg]unknowndirective"ssl"in/opt/nginx/conf/nginx.conf异常)

--with-pcre=/usr/local/pcre-8.36指的是pcre-8.36的网站源码路径。--with-zlib=/usr/local/zlib-1.2.8指的是zlib-1.2.8的网站源码路径。

1.6.启动

$/usr/local/nginx/sbin/nginx

启动成功后,在浏览器可以看到如此的页面:

1.先停止再启动:

1.5.7$make&&makeinstall

对nginx进行重启等于先停止再启动,即先实行停止命令再实行启动命令。如下:

./nginx-squit ./nginx

location/c/{alias/a/;}

查找安装路径:

whereisnginx

重启nginx

alias

打开浏览器访问此机器的IP,假如浏览器出现Welcometonginx!则表示Nginx已经安装并运行成功。

在Centos下,yum源不提供Nginx的安装,可以通过切换yum源的办法获得安装。也可以通过直接下载安装包的办法,**以下命令均需root权限实行**:

支持此命令:

解压

匹配例子:

这里的listen指监听端口,server_name用来指定IP或域名,多个域名对应统一规则可以空格分开,index用于设定访问的默认首页地址,root指令用于指定虚拟主机的网页跟目录,这个地方可以是相对地址也可以是绝对地址。

配置起来非常简单譬如我要将所有些请求到转移到真的提供服务的一台机器的8001端口,只须如此:

其实在nginx-1.12.0版本中你就无需去配置有关东西,默认就好了。当然,假如你要自己配置目录也是可以的。

/usr/local/nginx/conf/nginx.confNginx配置文件容易见到结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内,也就是说内层块会自动获得外层块的值作为缺省值。

1.7.1Server

注:将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

负载均衡

1.5.4$cdnginx-1.8.0

server{listen80;server_namelocalhost;roothtml;indexindex.htmlindex.htm;}

1.5.3$tar-zxvfnginx-1.8.0.tar.gz

./configure:error:SSLmodulesrequiretheOpenSSLlibrary.

$make&&makeinstall

1.5.安装nginx

5.1$cd/usr/local/

./nginx-sreload

官方网站下载

设置实行权限:

chmod755rc.local

解决方法:1、安装net-tool包:yuminstallnet-tools

一般情况下大家可以在nginx.conf中配置多个server,对不一样的请求进行设置。就像如此:

1.5.5$./configure--user=nobody--group=nobody--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_gzip_static_module--with-http_realip_module--with-http_sub_module--with-http_ssl_module

location/c/{root/a/;}

2.用wget命令下载。确保系统已经安装了wget,假如没安装,实行yuminstallwget安装。

wget-chttps://nginx.org/download/nginx-1.12.0.tar.gz

以上面的例子,可以将root和index指令放到一个location中,那样只有在匹配到这个location时才会访问root后的内容:

第一安装必要的库。选定**/usr/local**为安装目录,以下具体版本号依据实质改变。

1.1安装gccgcc-c++(如新环境,未安装请先安装)

1.1$yuminstall-ygccgcc-c++

1.2.安装PCRE库

$cd/usr/local/ $wgethttp://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz $tar-zxvfpcre-8.36.tar.gz $cdpcre-8.36 $./configure $make&&makeinstall 如显示错误:configure:error:YouneedaC++compilerforC++support 解决:yuminstall-ygccgcc-c++

1.3.安装SSL库

$cd/usr/local/ $wgethttp://www.openssl.org/source/openssl-1.0.1j.tar.gz $tar-zxvfopenssl-1.0.1j.tar.gz $cdopenssl-1.0.1j $./config $make&&makeinstall

1.4.安装zlib库存

转发

1.用默认配置

./configure

PCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括perl兼容的正则表达式库。nginx的http模块用pcre来分析正则表达式,所以需要在linux上安装pcre库,pcre-devel是用pcre开发的一个二次开发库。nginx也需要此库。命令:

yuminstall-ypcrepcre-devel

2、PCREpcre-devel安装

}

1.7.3location匹配规则

但当server超越2个时,建议将不同对虚拟主机的配置放在另一个文件中,然后通过在主配置文件nginx.conf加上include指令包含进去。更便于管理。

location/{proxy_pass172.16.1.1:8001;}

alias后跟的指定目录是准确的,并且末尾需要加/。

到这里,nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了。

强制关闭:

广告位