fastcgi

源码编译安装nginx

送分小仙女□ 提交于 2020-11-09 05:36:53
安装依赖软件 1、安装编译工具gcc   gcc是一个开源编译器集合,用于处理各种各样的语言:C、C++、Java、Ada等,在linux世界中是最通用的 编译器 ,支持大量处理器:x86、AMD64、PowerPC、ARM、MIPS等。    首先确定系统是否安装gcc [root@localhost ~]# gcc 若输出以下消息则已经安装gcc: 若输出以下消息则未安装gcc: 使用包管理器yum安装gcc: [root@localhost ~]# yum -y install gcc 2.安装PCRE库   nginx的Rewrite模块和HTTP核心模块会使用到PCRE 正则表达式 语法,因此nginx编译需要使用PCRE(Perl Compatible Regular Expression)库,需要安装pcre和pcre-devel,pcre提供编译版本的库,pcre-devel提供开发阶段的头文件和编译项目的源代码。 使用yum安装: [root@localhost ~]# yum -y install pcre pcre-devel 如果系统已经安装了pcre包则会输出: Nothing to do 即系统没有安装或升级pcre。 3.安装zlib库 zlib库提供了 压缩算法 ,在nginx的各种模块中需要使用gzip压缩,因此需要安装zlib库和zlib

Nginx反向代理

那年仲夏 提交于 2020-11-08 07:23:21
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 反向代理方式实际上就是一台负责转发的代理 服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返回的数据。这样说,其实nginx 完成的就是这样的工作。 http://blog.csdn.net/cclovett/article/details/26377269 http://blog.jobbole.com/110400/ 原帖:http://zyjustin9.iteye.com/blog/2017394 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。那究竟它有什么作用呢?可能很多人未必了解。 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了。摘一段百度百科上的描述: Html代码 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 这里讲得很直白

玩转dnmp之自定义PHP容器

痴心易碎 提交于 2020-11-02 14:25:31
文章简介 在前面几篇文章中,我们使用dnmp搭建了一个完整的docker开发环境。这篇文章接着分享如何在dnmp的基础上搭建一个自定义的PHP容器,实现多版本的PHP容器。 前期准备 首先我们下载 dnmp仓库 。 复制docker-compose.sample.yml文件为docker-compose.yml cp docker-compose.sample.yml docker-compose.yml 复制env.sample为.env cp env.sample ./env 修改配置 首先我们根据需要在.env文件中配置好PHP容器需要映射的端口等信息。添加如下配置(可放在任意位置): # # PHP73 # PHP73_VERSION=7.3.22 PHP73_PHP_CONF_FILE=./services/php73/php.ini PHP73_FPM_CONF_FILE=./services/php73/php-fpm.conf PHP73_LOG_DIR=./logs/php PHP73_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache PHP_SWOOLE1_PORT=9504 PHP_SWOOLE2_PORT=9505 PHP_SWOOLE3_PORT=9506 PHP_SWOOLE4_PORT=9507

Docker多容器部署LNMP环境

ε祈祈猫儿з 提交于 2020-11-01 18:59:50
使用单一进程容器,即一个容器只运行一种服务,而不是把所有服务放在一个容器的设计,让PHP项目需要的Nginx、PHP、MySQL组件,分别运行在各自镜像创建出来的独立容器中。 文章提到的完整脚本请移步 docker-lnmp ,内辅详细的注释(欢迎大家关注!)。 整个流程: 客户端http请求服务器80端口,该端口被映射到Nginx容器80端口,进入Nginx处理。 Nginx分析请求,如果是静态资源,直接服务器读取内容;如果是PHP脚本,通过PHP容器调用服务器获取脚本,然后FastCGI处理。 FastCGI解析PHP脚本,必要时访问MySQL容器读写数据。 具体步骤 Dockerfile: MySQL镜像 继承自官方的 MySQL5.7 镜像,相对独立解耦的模块,无其它额外处理,见 mysql/Dockerfile 。 PHP镜像 继承自官方的 centos7 镜像,PHP源码按需编译安装,方便后续扩展管理或者配置。通过 sed 修改 php.in 监听所有 9000 端口(此处为关键!!因为提供Nignx容器访问支持PHP脚本,PHP容器对于Nginx容器不是 localhost ),完整见 php7/Dockerfile 。 Nginx镜像 继承自官方的 centos7 镜像,Nginx源码按需编译安装,方便后续更改或者配置。通过 sed 修改 nginx.conf

nginx反代之前端调度

蓝咒 提交于 2020-11-01 14:29:45
前言 正如大家所知 nginx可以作为web服务器,提供web服务,也可使用其模块进行前端调度,实现负载均衡的功能,在此我们来叙说其前端调度功能。 一、常用模块说明 ngx_http_proxy_module(负载均衡,反代模块) 1.proxy_pass URL; #反代及其输出其路径 示例: location / { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80/; } location ~|~* PATTERN { proxy_pass http://192.168.184.129:80; } 注意: proxy_pass后面的路径不带uri时,其会将location的uri传递给后端主机,在uri后加上斜杠时,则将是/下的文件请求为其站点目录。如果location定义其uri时使用正则表达式的模式,则proxy_pass之后必须不能使用uri,否则为语法错误。 2. proxy_set_header

Nginx web基础入门

守給你的承諾、 提交于 2020-10-31 13:53:10
[toc] Nginx web基础入门 两种部署方式: 1)yum安装 更改官方源: [root@web ~]# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 安装依赖包 yum install -y gcc gcc-c++ autoconf pcre pcre-devel openssl-devel make automake 安装nginx-1.16.0 yum install -y nginx 启动nginx并设置开机自启 [root@web01 ~]# systemctl start nginx [root@web01 ~]# systemctl enable nginx 启动报错: 报错原因:80端口被占用 解决方法:谁占用的,干掉谁 systemctl stop httpd 监测nginx是否启动成功 #方法一:监测进程 [root@web01 ~]# ps -ef|grep [n]ginx root 12457 1 0 11:44 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx

世界上最好的语言搭建短链接及统计功能(附API代码)

时光总嘲笑我的痴心妄想 提交于 2020-10-30 16:02:45
前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数、下载量、来源以及时间等等。 网上搜寻了一下比较有名有U.NU和0x3.me,但前者只能统计点击次数,而且不能修改链接,后者功能丰富,但确是收费商业网站。 环境搭建 本安装指南将帮助您安装Polr 2.0的最新版本Polr 2.0。Polr 是一个开源软件、世界上最好的语言,功能还算强大。 功能包括 修改缩短的域名 统计功能(来源,时间) API支持 二维码生成 服务器要求 Apache, nginx, IIS, or lighttpd (Apache preferred) PHP >= 5.5.9 MariaDB or MySQL >= 5.5, SQLite alternatively composer PHP requirements: OpenSSL PHP Extension PDO PHP Extension PDO MySQL Driver (php5-mysql on Debian & Ubuntu, php5x-pdo_mysql on FreeBSD) Mbstring PHP Extension Tokenizer PHP Extension JSON PHP Extension PHP curl extension 安装PHP

安装edusoho

吃可爱长大的小学妹 提交于 2020-10-29 01:29:07
nginx 配置 [root@web02 zh]# cat /etc/nginx/conf.d/ edu.conf server { listen 80 ; server_name edu.oldboy.com; root /code/edu/ web; index app.php index.php index.html; location / { index app.php; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$ 1 last ; } location ~ ^/ udisk { internal; root /code/edu/app/data/ ; } location ~ ^/(app|app_dev)\.php(/| $) { fastcgi_pass 127.0 . 0.1 : 9000 ; fastcgi_split_path_info ^(.+\.php)(/.* )$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; fastcgi_param HTTP_X

安装edusoho

*爱你&永不变心* 提交于 2020-10-29 00:59:53
1、更新第三方源并升级系统 (CentOS默认的标准源里没有nginx软件包) 1.1、安装CentOS第三方yum源 #安装下载工具wget yum install wget #下载atomic yum源 wget http://www.atomicorp.com/installers/atomic #安装 sh ./atomic 1.2、升级CentOS系统 #更新yum软件包 yum check-update #更新系统 yum update 2、安装和配置防火墙 #配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables #(允许80端口通过防火墙) -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #(允许3306端口通过防火墙) -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存后重启防火墙: /etc/init.d/iptables restart #重启防火墙使配置生效 注意 centos7 默认没有安装iptables,而是使用firewalld 具体可参考https://www.cnblogs.com/blueskyli/p/7218804.html

nginx的403 Forbidden问题

一曲冷凌霜 提交于 2020-10-28 11:51:45
今天帮同事解决一个 nginx 的问题; 问题描述: 文件地址在浏览器中无法下载, http://10.60.1.66:9082/upload/doc/20190510165337.docx nginx 在页面上报错信息 : 403 Forbidden 报 Forbidden, 第一反应是该文件没有读权限,查看该文件,妹子已经给整个目录 777 权限了; [root@localhost doc]# ll total 72 -rwxrwxrwx. 1 www www 8414 May 10 16:26 20190510162651.docx -rwxrwxrwx. 1 www www 8291 May 10 16:50 20190510165002.docx -rwxrwxrwx. 1 www www 8413 May 10 16:50 20190510165005.docx -rwxrwxrwx. 1 www www 8292 May 10 16:53 20190510165337.docx -rwxrwxrwx. 1 www www 8292 May 10 16:55 20190510165553.docx -rwxrwxrwx. 1 www www 8292 May 10 16:56 20190510165652.docx [root@localhost doc]#