当前位置: 首页 > news >正文

web服务器相关知识

nginx的源码编译:企业中我们经常会使用wget去下载nginx,这里我已经提前下载了需要的nginx版本,下载网址:https://nginx.org/en/download.html

上传或者下载到虚拟机中,这里我用的7.9版本

上传以后可以用ll命令查看自己上传的位置

解压 

tar -zxf  nginx-1.24.0.tar.gz

 切换到解压下的目录

安装添加模块需要的包

#dnf install gcc pcre-devel zlib-devel openssl-devel -y

检查并添加模块

添加用户

useradd -s /sbin/nologin -M nginx

编译

 make && make install

记得添加环境变量

vim ~/.bash_profile
export PATH=$PATH:/usr/local/nginx/sbin
source ~/.bash_profile

检查版本

 添加到启动文件

vim /lib/systemd/system/nginx.service

systemctl daemon-reload
systemctl start nginx 

 平滑升级

下载安装包并解压,切换到解压的目录下,并检测添加模块,然后编译,这里因为前面以及安装,所以只需要make

将之前的nginx版本备份

 cd /usr/local/nginx/sbin/cp nginx nginx.old

查看进程

 ps aux | grep nginx

复制新版本的nginx命令

 \cp -f /root/nginx/nginx-1.26.1/objs/nginx/usr/local/nginx/sbin

 启动新版本的master监听端口并回收旧版本

kill -USR2 48732 #nginx master ID
kill -WINCH 48732 #nginx master ID

 检测是否有问题并查看版本

nginx -t
curl -I localhost

 全局配置文件,添加子配置文件

建立一个pc站点

 mkdir /usr/local/nginx/conf.d/
vim /usr/local/nginx/conf.d/vhosts.conf
server {listen 80;server_name var.timinglee.org;root /data/web/html;index index.html;location /test1 {default_type text/html;echo "hahahhahahaahahahaha";}
}

 记得创建对应目录和写进去东西,刷新一下

nginx -s reload

 

mkdir "/var/log/nginx" -p
vim /usr/local/nginx/conf.d/vhosts.conf
server {listen 80;server_name lee.timingni.org;error_page 404 /40x.html;access_log /var/log/nginx/access.log;error_log  /var/log/nginx/error.log;location = /40x.html {root /data/web/html/error/;}
} 
#重启nginx并访问不存在的页面进行测试并验证是在指定目录生成新的日志

全站https,rewrite自动跳转 

配置文件

break与last之间的区别

放盗链,允许访问的referers

不允许访问的访问时的效果

nginx的动静态分离

php的动态扩展模块

安装并解压

tar zxf memcache-8.2.tgz
cd memcache-8.2/
yum install autoconf
phpize

 

检查并编译

./configure && make && make install

安装memcache模块 ,php加载memcache模块,启动memcache和php-fpm

 

查看是否加载成功

部署memcached

测试效果

抗压测试

php高速缓存 ,这里需要一个全新的1.26的编译,需要添加两个模块

tar zxf srcache-nginx-module-0.33.tar.gz
tar zxf memc-nginx-module-0.20.tar.gz
cd nginx-1.26.1/
./configure --prefix=/apps/nginx --user=nginx --
group=nginx --with-http_ssl_module --with-http_v2_module --withhttp_realip_module--with-http_stub_status_module --with-http_gzip_static_module 
--with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --
add-module=/root/memc-nginx-module-0.20 --add-module=/root/srcache-nginx-module0.33make && make install

nginx 二次开发版本openresty,安装编译

wget https://openresty.org/download/openresty-1.17.8.2.tar.gz
tar xf openresty-1.17.8.2.tar.gz 
cd openresty-1.17.8.2/

openresty 
ps -ef |grep nginx

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows本地kafka和zookeeper单机版
  • 【Linux】系列入门摘抄笔记-8-权限管理chmod/chown
  • 【排序篇】插入排序与选择排序
  • LabVIEW优化内存使用
  • 运行微信小程序报错:Bad attr data-event-opts with message
  • 数据结构与算法 - 设计
  • Oracle(75)什么是统计信息(Statistics)?
  • 云计算运维和SRE是一回事儿吗?有什么区别?
  • 点云倒角距离(Chamfer Distance,CD)
  • PPT:某集团企业IT治理优化方案
  • c语言基础------数组指针
  • C++入门:C语言到C++的过渡
  • Spring理论知识(Ⅰ)——Spring分层结构,Spring模块数据访问与继承
  • JavaScript - Api学习 Day02(事件监听、流、委托)
  • iPaaS丨API低代码平台适用的业务场景
  • crontab执行失败的多种原因
  • C语言笔记(第一章:C语言编程)
  • fetch 从初识到应用
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • js正则,这点儿就够用了
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Rancher-k8s加速安装文档
  • Shell编程
  • socket.io+express实现聊天室的思考(三)
  • tweak 支持第三方库
  • vuex 学习笔记 01
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 将 Measurements 和 Units 应用到物理学
  • 免费小说阅读小程序
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 湖北分布式智能数据采集方法有哪些?
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #HarmonyOS:软件安装window和mac预览Hello World
  • $refs 、$nextTic、动态组件、name的使用
  • ( 10 )MySQL中的外键
  • (1)Hilt的基本概念和使用
  • (30)数组元素和与数字和的绝对差
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (笔试题)合法字符串
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转) 深度模型优化性能 调参
  • (转)jdk与jre的区别
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别