fastcgi

Keepalived+Nginx实现Nginx的高可用

白昼怎懂夜的黑 提交于 2021-01-13 03:28:23
集群规划 主机名 IP  VIP Nginx:port KeepAlived主备 KA_NG_01 192.168.30.130 192.168.30.120 8088 MASTER KA_NG_02 192.168.30.131 192.168.30.120 8088 BACKUP 实验环境: [root@KA_NG_01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@KA_NG_01 ~]# keepalived -v Keepalived v1.2.13 (03/19,2015) [root@KA_NG_01 ~]# nginx -v nginx version: nginx/ 1.14.0 如果是编译安装的的话,在本机首先配置好YUM源,保证机器可以访问公网,然后安装以下依赖: [root@KA_NG_01 ~]# yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel 去官网下载对应的的软件包进行编译安装 Nginx的官网下载地址: http://nginx.org/en/download.html

云计算高端架构师:nginx服务器

送分小仙女□ 提交于 2021-01-12 07:47:34
Nginx: 是一个高性能HTTP 和 反向代理 服务器、IMAP、POP3、SMTP 邮件代理服务器。 特点: 高并发响应性能非常好,官方Nginx处理静态文件并发5w/s;负载均衡及反向代理性能非常强;可对后端服务进行健康检查;支持PHP cgi方式和FastCGI方式;可以作为缓存服务器、邮件代理服务器;支持热部署(在线升级)。 部署nginx: yum部署: # 配置仓库: // vim /etc/yum.repos.d/nginx.repo # 安装: // yum install nginx -y ### 源码部署: 下载nginx源码包: // wget http://nginx.org/download/nginx-1.18.0.tar.gz # 解压: // tar xf nginx-1.18.0.tar.gz # 解决依赖: // yum install pcre-devel zlib-devel -y # 预编译: cd nginx-1.18.0 // ./configure --prefix=/usr/local/nginx # 编译、安装: make && make install # 启动服务: // /usr/local/nginx/sbin/nginx # 查看进程与端口: // ps -ef | grep nginx nginx常用指令:

一个nginx服务器配置多站点

泄露秘密 提交于 2021-01-09 05:40:54
有时候你想在一台服务器上为不同的域名运行不同的站点。比如www.siteA.com作为博客,www.siteB.com作为论坛。你可以把两个域名的IP都解析到你的服务器上,但是没法在Nginx的根目录里同时运行两个不同的网站。这时候,你就需要使用虚拟目录了。假设你把博客放在”/home/user/www/blog”下,论坛放在”/home/user/www/forum”下。下面我们就开始配置了: 在Nginx配置目录下,创建一个”vhost”目录。本例假设Nginx是默认安装,配置目录在”/etc/nginx” $ sudo mkdir /etc/nginx/vhost 创建siteA的配置文件 $ sudo vi /etc/nginx/vhost/vhost_siteA.conf 输入以下配置信息 server { listen 80; # 监听端口 server_name www.siteA.com siteA.com; # 站点域名 root /home/user/www/blog; # 站点根目录 index index.html index.htm index.php; # 默认导航页 location / { # WordPress固定链接URL重写 if (!- e $request_filename) { rewrite (.*) / index.php; } }

Nginx做web服务器反向代理

孤街浪徒 提交于 2021-01-07 05:01:24
实验目的 通过nginx实现反向代理的功能,类似apache反向代理和haproxy反向代理 工作中用nginx做反向代理和负载均衡的也越来越多了 有些公司从web服务器到反向代理,都使用nginx。nginx在1.9版本加入了tcp的反向代理功能 甚至安全策略:nginx+lua 完全可以搞定。 打开nginx官网 nginx做反向代理,安装命令如下,使用www用户运行nginx useradd -s /sbin/noglogin -M www wget http://nginx.org/download/nginx-1.9.12.tar.gz tar zxf nginx-1.9.12.tar.gz cd nginx-1.9.12 ./configure --prefix=/usr/local/nginx-1.9.12 \ --user=www --group=www --with-http_ssl_module \ --with-http_stub_status_module --with-file-aio make && make install ln -s /usr/local/nginx-1.9.12/ /usr/local/nginx 检查语法 [root@linux-node2 nginx-1.9.12]# /usr/local/nginx/sbin/nginx -t

Nginx与PHP交互过程 + Nginx与PHP通信的两种方式

允我心安 提交于 2021-01-03 15:45:01
一、Nginx与PHP交互过程的7步走(用户对动态PHP网页访问过程) step1:用户将http请求发送给nginx服务器(用户和nginx服务器进行三次握手进行TCP连接) step2:nginx会根据用户访问的URI和后缀对请求进行判断 step3:通过第二步可以看出,用户请求的是动态内容,nginx会将请求交给fastcgi客户端,通过fastcgi_pass将用户的请求发送给php-fpm 如果用户访问的是静态资源呢,那就简单了,nginx直接将用户请求的静态资源返回给用户。 step4:wrapper收到php-fpm转过来的请求后,wrapper会生成一个新的线程调用php动态程序解析服务器 step5:php会将查询到的结果返回给nginx step6:nginx构造一个响应报文将结果返回给用户 这只是nginx的其中一种,用户请求的和返回用户请求结果是异步进行,即为用户请求的资源在nginx中做了一次中转,nginx可以同步,即为解析出来的资源,服务器直接将资源返回给用户,不用在nginx中做一次中转。第四步:fastcgi_pass将动态资源交给php-fpm后,php-fpm会将资源转给php脚本解析服务器的wrapper 即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器 CGI是通用网关

Nextcloud私有云盘在Centos7下的部署笔记

怎甘沉沦 提交于 2021-01-02 05:12:34
搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而 Nextcloud 是ownCloud原开发团队打造的号称是“下一代”存储。初一看觉得“口气”不小,刚推出来就重新“定义”了Cloud,真正试用过后就由衷地赞同这个 Nextcloud:它是个人云存储服务的绝佳选择 。可以说Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScript 编写,支持多种数据库系统,比如 MySQL/MariaDB、PostgreSQL、Oracle 数据库和 SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud 为 Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。同时,Nextcloud 也并非只是 Dropbox 的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体 Ampache。 与ownCloud相比,Nextcloud的功能丝毫没有减弱,甚至由于可以安装云存储服务应用,自制性更强,也更符合用户的需求。Nextcloud官网的帮助文档写得相当地详细,几乎任何关于Nextcloud的问题都可以找到答案,这说明Nextcloud开发团队确实比ownCloud更加优秀。 一开始以为Nextcloud只是一个网盘云存储

Nginx防盗链&Nginx访问控制&Nginx解析php相关配置&Nginx代理

六眼飞鱼酱① 提交于 2021-01-01 08:34:59
[toc] Nginx防盗链&Nginx访问控制&Nginx解析php相关配置&Nginx代理 一、Nginx防盗链: 1. 打开配置文件: 增加如下配置文件: [root@xavi ~]# cd /usr/local/nginx/conf/vhost/ [root@xavi vhost]# vim test.com.conf } # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ # { # expires 7d; # access_log off; # } location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; 防盗链部分 valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } 如上配置文件中匹配以gif,jpg,png结尾的页面,并且设置一个白名单的referer为*.test

Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

血红的双手。 提交于 2021-01-01 06:34:59
Nginx防盗链首先进入到/usr/local/nginx/conf/vhost/目录下,编辑配置文件 vim test.com.confvim test.com.conf然后如数如下内容location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${ expires 7d; valid_referers none blocked server_names .test.com ; if ($invalid_referer) { return 403; } access_log off;} valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403;这时防盗链的核心部分,第一行的意义为定义白名单,第二行是如果不匹配,第三行是状态码。输入完后保存,检查语法,重新加载。 Nginx访问控制 和httpd一样,Nginx也需要限制某些IP不能访问或者只允许某些IP访问,配制方法和httpd很像。但更加简洁了。不需要像httpd全部都历一遍。 配置访问控制还是要编辑虚拟主机的配置文件 /usr/local/nginx/conf/vhost/ 然后再最后面加上访问控制的配置 location

apache-优化

你。 提交于 2020-12-31 06:40:33
优化 性能优化 指定mpm模式(编译时) httpd -V show compile settings 及 Server MPM -l Compiled in modules ,是否有worker.c 否则为prework apache 计算内存消耗 在压力测试时,找到httpd进程,查看一个进程使用了多少的内存,然后看看总的进程 Apache内存使用量可以使用下面命令: ps -U apache u|awk '{S+=$6} END {print S}' 优化Apache(httpd) KeepAlive 是否允许持续连接 MaxKeepAliveRequests 允许的持续连接的最大数 KeepAliveTimeout 持续连接在没有请求多少秒后切断 StartServers 最初启动时启动多少个服务器进程 MinSpareServers 空闲服务器进程的最小数 MaxSpareServers 空闲服务器进程的最大数 MaxRequestsPerChild 每个子进程处理的最大请求数 VPS优化Apache完全设置 一、削减模块以及计算调整可供APACHE使用的内存 影响WEB服务器最大的因素即为内存,所以我们把它放在最前面 在 默认状态下,Apache会分配最大256个并发客户端连接,或者256个进程(每一个都对应一个请求)。按照这种设置,一个流量巨大的网站会在顷刻间崩 溃

在kubernetes集群中部署php应用

时光总嘲笑我的痴心妄想 提交于 2020-12-30 21:05:09
本文将介绍在kubernetes环境中部署一套php应用系统。前端web采用nginx、中间件php以fastcgi的方式运行,后台数据库由mysql主从提供支撑。 各服务组件之间的调用采用dns解析服务名的方式进行,数据和配置文件持久化采用pv和pvc(基于nfs)。 一、通过dockerfile创建php镜像文件 # cat dockerfile FROM docker.io/openshift/base-centos7:latest MAINTAINER ylw "ylw@fjhb.cn" RUN yum makecache RUN yum -y install php-fpm php php-gd php-mysql php-mbstring php-xml php-mcrypt php-imap php-odbc php-pear php-xmlrpc RUN sed -i 's/listen = 127.0.0.1:9000/listen = 0.0.0.0:9000/' /etc/php-fpm.d/www.conf RUN sed -i 's/listen.allowed_clients = 127.0.0.1/;listen.allowed_clients = 127.0.0.1/' /etc/php-fpm.d/www.conf EXPOSE 9000 CMD