nginx编译安装

mac2022-06-30  21

一.安装前创建用户以及安装依赖包

1.软件依赖包安装

pcre-devel: perl语言正则表达式兼容软件包 openssl-devel:使系统支持https方式访问

yum install -y pcre-devel openssl-devel

 

2.创建虚拟用户

useradd www -s /sbin/nologin/ -M

 

 

3.下载并解压nginx软件

cd /server/tools&& cd /server/tools wget http://nginx.org/download/nginx-1.12.2.tar.gz tar xf nginx-1.12.2.tar.gz

 

 

二.编译安装nginx

 

1.编译配置

./configure --prefix=/application/nginx-12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module

 

--prefix=PATH           指定软件安装在什么目录下

--user=USER             指定软件worker进程管理用户,利用www虚拟用户管理worker进程 --group=USER --with-http_ssl_module        使nginx程序可以支持HTTPsF访问功能 --with-http_stub_status_module    用于监控用户访问nginx服务情况

 

2.编译过程

 

3.编译安装

make && make install

 

4.创建软连接

ln -s /application/nginx-12.2 /application/nginx

 

5.启动nginx

/application/nginx/sbin/nginx    #启动

 

/application/nginx/sbin/nginx -t 查看配置是否正确

 

6.精简nginx.conf配置文件内容:

grep -Ev "#|^$" nginx.conf.default >nginx.conf

 

 

7.nginx配置文件组成:

  ①. main nginx主区块   ②. event nginx事件区块   ③. http nginx http功能区块   ④. server nginx 网站主机区块   ⑤. location nginx 匹配或者定位区块

 

html --- nginx程序站点目录 logs --- nginx程序日志文件保存目录 sbin --- nginx程序命令所在目录

 

8.nginx命令参数说明

  -V --- 查看nginx软件编译配置参数   -t --- 检查nginx配置文件语法格式是否正确   -s --- 用于管理nginx服务运行状态     stop 停止nginx服务     reload 平滑重启nginx服务器

  重启nginx服务     nginx -s stop 先停止     ( /application/nginx/sbin/nginx -s  stop )     nginx 再启动             ( /application/nginx/sbin/nginx )

三.编写nginx服务配置

1.实现编写一个网站页面

 

[root@web01 ~]# cat /application/nginx/conf/nginx.conf

 

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.augustyang.org; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

 

 

2.实现编写多个网站页面,编写多个虚拟主机, 这样便于管理每个虚拟虚拟主机 (基于域名的虚拟主机),还有基于端口基于ip

 

1)编写多个站点

mkdir -p /application/nginx/html/{www,bbs,blog}

 

 

2)创建站点目录下首页文件:

for name in www bbs blog;do echo "10.0.0.7 $name.augustyang.org" >/application/nginx/html/$name/index.html;done

 

[root@web01 extra]# for name in www bbs blog;do cat /application/nginx/html/$name/index.html;done 10.0.0.7 www.augustyang.org 10.0.0.7 bbs.augustyang.org 10.0.0.7 blog.augustyang.org

 

 

3)配置虚拟主机

mkdir -p /application/nginx/conf/extra1 touch /application/nginx/conf/extra1/{bbs,blog,www}.conf

 

 

[root@web01 extra1]# pwd /application/nginx/conf/extra1 [root@web01 extra1]# cat * server { listen 80; server_name bbs.augustyang.org; location / { root html/bbs; index index.html index.htm; } } server { listen 80; server_name blog.augustyang.org; location / { root html/blog; index index.html index.htm; } } server { listen 80; server_name www.augustyang.org; location / { root html/www; index index.html index.htm; } }

 

 

4)配置hosts 解析

[root@web01 extra1]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.7 www.augustyang.org 172.16.1.7 bbs.augustyang.org 172.16.1.7 blog.augustyang.org

 

 

5)修改nginx.conf文件

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra1/www.conf; include extra1/bbs.conf; include extra1/blog.conf; }

 

 

6)访问测试

[root@web01 extra1]# curl bbs.augustyang.org 10.0.0.7 bbs.augustyang.org [root@web01 extra1]# curl www.augustyang.org 10.0.0.7 www.augustyang.org [root@web01 extra1]# curl blog.augustyang.org 10.0.0.7 blog.augustyang.org

 

 7)基于端口的虚拟主机

[root@web01 extra1]# pwd /application/nginx/conf/extra1 [root@web01 extra1]# cat * server { listen 80; server_name bbs.augustyang.org; location / { root html/bbs; index index.html index.htm; } } server { listen 81; server_name blog.augustyang.org; location / { root html/blog; index index.html index.htm; } } server { listen 82; server_name www.augustyang.org; location / { root html/www; index index.html index.htm; } }

 

 

8) 测试   (基于端口的虚拟主机测试)

[root@web01 extra1]# curl bbs.augustyang.org 10.0.0.7 bbs.augustyang.org [root@web01 extra1]# curl blog.augustyang.org:81 10.0.0.7 blog.augustyang.org [root@web01 extra1]# curl www.augustyang.org:82 10.0.0.7 www.augustyang.org

 

  备注 当访问不存在的时候, 会默认跳转到80端口的虚拟主机 

 

[root@web01 extra1]# curl www.augustyang.org10.0.0.7 bbs.augustyang.org

 需要注意的是:nginx服务中只要涉及IP地址的修改,都需要重启nginx服务,而不能采用平滑重启

 

 四.nginx 的日志服务(错误日志及访问日志)

 

 五.nginx 的location及rewrite

 

转载于:https://www.cnblogs.com/augustyang/p/10103421.html

最新回复(0)