«

Nginx源码安装部署web网站以及rewrite规则的使用

时间:2024-12-19 16:54     作者:Anglei     分类: WEB应用


1.Nginx是一款开源的、免费的WEB服务器软件,主要是基于HTTP协议(超文本传输协议)去发布网站代码、提供网页信息服务的。还可以支持负载均衡、反向代理、动静分离等功能,最终用户通过浏览器可以实现网站页面的访问。

2.Nginx WEB软件默认只能处理静态网页(Apache),不能直接去处理动态网页,动态网页交于第三方程序去解析。Nginx官方对外宣称其处理静态网页的并发性能可以达到5w/s,得到互联网IT企业广泛的采用。

3.基于OpenEuler 22.x国产系统部署一套Nginx WEB软件服务,采用MAKE源码编译方式,部署的方法和指令如下:

#从Nginx官网下载软件包;(-c continue断点续传,-P path指定存储的目录)
wget -c http://nginx.org/download/nginx-1.26.1.tar.gz -P /usr/src/
#Cd切换至/usr/src;
cd /usr/src/
ls -l nginx-1.26.1.tar.gz
#通过Tar工具对其解压;(-x extract解压,-z gzip压缩格式,-v verbose详细显示,-f file文件属性)
tar -xzvf nginx-1.26.1.tar.gz
#Cd切换Nginx源代码目录;
cd nginx-1.26.1/
#提前解决编译Nginx所需的依赖环境、库文件;
yum install -y gcc pcre-devel zlib-devel openssl-devel
#因为Nginx是基于C语言开发的源代码程序,默认需借助C编译器(GCC)将源代码文件编译生成二进制文件,通常需执行源代码软件包部署核心三个步骤。
#预编译;(--prefix,指定软件服务部署的路径)
./configure --prefix=/usr/local/nginx/ --user=www --group=www --with-http_stub_status_module
主要是检测Linux系统安装该软件所需的依赖环境、库文件,检测Linux系统是否存在C编译器(GCC),指定软件服务部署的路径,自定义软件服务特定的参数、模块,最终会产生Makefile文件。
#编译;(-j4,开启4个线程并行执行)
make -j4
主要是通过make编译工具去读取第一步预编译产生的Makefile文件,调用Linux系统上C编译器(GCC)将软件包中的源代码文件编译生成二进制文件,其中Makefile文件的用途告知make编译工具在编译源代码文件时从哪个源码文件开始编译至哪个源码文件结束编译。
#安装;
make -j4 install
主要是将第二步make编译产生的二进制文件,拷贝或者安装至Linux操作系统指定的安装目录--prefix=/usr/local/nginx/。
#查看Nginx软件服务是否部署成功;
ls -l /usr/local/nginx/
#启动Nginx服务进程;
/usr/local/nginx/sbin/nginx
#查看Nginx进程状态;
ps -ef|grep -aiE nginx
#Firewalld防火墙对外开放80端口;
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service

4.根据如上Nginx指令的操作,Nginx WEB平台部署成功,用户通过浏览器可以访问Nginx服务器IP地址+80端口,即可访问Nginx测试页面,如图所示:
http://192.168.101.128/

5.在企业生产环境中,作为Linux运维人员将开发人员编写的网站程序(淘宝门户网站)通过Nginx WEB去发布,去更新、替换Nginx默认测试页面。替换的方法和指令如下:

#提前安装lrzsz上传、下载工具;
yum install -y lrzsz
#上传淘宝门户网站程序;
rz -y
ls -l taobao_web.zip
#查找Nginx WEB发布目录;
ls -ld /usr/local/nginx/html/
grep -aiE "root" /usr/local/nginx/conf/nginx.conf |grep -aivE "#"|awk 'NR==1 {print "/usr/local/nginx/"$2}'|sed 's/;//g'
#将淘宝门户网站程序解压部署至Nginx WEB发布目录;
unzip taobao_web.zip -d /usr/local/nginx/html/

6.根据如上Nginx发布淘宝门户网站指令、步骤的操作,用户通过浏览器访问Nginx服务器IP地址+二级目录/taobao_web/,即可访问淘宝门户网站,访问页面如图所示:
http://192.168.101.128/taobao_web/

7.如果实现用户通过浏览器访问Nginx服务器IP地址,无需添加二级目录/taobao_web/,即可访问淘宝门户网站呢?可以使用Rewrite规则重定向:

#Cd进入Nginx配置文件目录;
cd /usr/local/nginx/conf/
#备份nginx.conf默认配置文件;
\cp nginx.conf nginx.conf.bak
#删除nginx.conf文件中的#和空行;
sed -i -e '/#/d' -e '/^$/d' nginx.conf
#在nginx.conf配置文件中的server段里server_name下一行添加rewrite规则
rewrite ^/$  /taobao_web/ last;
#重启Nginx服务进程;
/usr/local/nginx/sbin/nginx -s reload

8.根据如上Nginx Rewrite规则的配置,用户通过浏览器访问Nginx服务器IP地址,无需添加二级目录/taobao_web/,即可访问淘宝门户网站,访问页面如图所示:
http://192.168.101.128/

以上文章来自京峰教育吴光科老师。

本文完结,相关标签: nginx rewrite

 版权所有:Anglei
 文章标题:Nginx源码安装部署web网站以及rewrite规则的使用
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(1)

鸡蛋(0)
分享到: