nginx php分离,nginx-php配置动静分离

实验目的:nginx-php配置动静分离

实验环境:

主机 192.168.88.100 NGINX服务器

主机 192.168.88.102 PHP和MYSQL服务器

注意:想要手工编译必须安装gcc gcc-c++ make 这三个插件

并且关闭防火墙

service firewalld stop

systemctl disable firewalld

1.在88.100上手工编译安装nginx服务器

yum -y install \

pcre-devel \

zlib-devel

useradd -M -s /sbin/nologin nginx

将 准备好的nginx源码包上传到linux中并解压编译

tar xzvf nginx-1.13.7.tar.gz -C /usr/src/

cd /usr/src/nginx-1.13.7

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module

make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //将管理nginx的命令做个软连接到系统中

nginx -t //配置文件语法检查

nginx //启动服务

killall -1 nginx //安全重启

killall -3 nginx //停止服务

-------制作管理角本-------- //让linux系统的systemctl服务能够识别start restart stop等命令

vi /etc/init.d/nginx

#!/bin/bash

chkconfig: 35 99 20

description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx"

PIDF="/usr/local/nginx/logs/nginx.pid"

case "$1" in

start)

$PROG

;;

stop)

kill -s QUIT $(cat $PIDF)

;;

restart)

$0 stop

$0 start

;;

reload)

kill -s HUP $(cat $PIDF)

;;

*)

echo "Usage: $0 {start|stop|restart|reload}"

exit 1

esac

exit 0

chmod +x /etc/init.d/nginx

chkconfig --add nginx

vi /usr/local/nginx/conf/nginx.conf

user nginx nginx;

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 localhost;

location / {

root html/webphp;

index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ .php$ {

root /var/www/html/webphp;

fastcgi_pass 192.168.88.102:9000; //将页面中的以php结尾的动态页面交给88.102服务器的9000端口,也就是php-fpm模块来处理

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/html/webphp$fastcgi_script_name;

include fastcgi_params;

}

}

}

service nginx restart

2.在88.102上手工编译mysql后编译PHP

安装编译所需要的插件

yum -y install \

ncurses \

ncurses-devel \

bison \

cmake

向系统添加mysql用户

useradd -s /sbin/nologin mysql

把上传到服务器上的mysql安装包解压并编译

tar xf mysql-boost-5.7.20.tar.gz

cd mysql-5.7.20/

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DSYSTEMD_PID_DIR=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DWITH_BOOST=boost \

-DWITH_SYSTEMD=1

make && make install

chown -R mysql.mysql /usr/local/mysql/

在/etc中修改mysql主配置文件

vi /etc/my.cnf

[client]

port = 3306

default-character-set=utf8

socket = /usr/local/mysql/mysql.sock

[mysql]

port = 3306

default-character-set=utf8

socket = /usr/local/mysql/mysql.sock

[mysqld]

user = mysql

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

character_set_server=utf8

pid-file = /usr/local/mysql/mysqld.pid

socket = /usr/local/mysql/mysql.sock

server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

chown mysql:mysql /etc/my.cnf

设置mysql所需要的环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

echo 'export PATH' >> /etc/profile

source /etc/profile

cd /usr/local/mysql/

bin/mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld

netstat -anpt | grep 3306

systemctl enable mysqld

mysqladmin -u root -p password "abc123" //给root账号设置密码

mysql -u root -p

3.同样在88.102上手工编译php

以下都是手工编译php所需要的插件

yum -y install \

libjpeg \

libjpeg-devel \

libpng libpng-devel \

freetype freetype-devel \

libxml2 \

libxml2-devel \

zlib zlib-devel \

curl curl-devel \

openssl openssl-devel

将上传到服务器的php源代码包解压并编译安装

tar xjvf php-7.1.10.tar.bz2

cd php-7.1.10

./configure \

--prefix=/usr/local/php \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--enable-fpm \ //打开php的fpm模块,也是nginx和php的动静分离的核心

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \

--enable-session \

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

make && make install

cp php.ini-development /usr/local/php/lib/php.ini

vi /usr/local/php/lib/php.ini

mysqli.default_socket = /usr/local/mysql/mysql.sock //修改1020行,指定mysql的sock文件

date.timezone = Asia/Shanghai //修改939行,指定时区

/usr/local/php/bin/php -m //验证安装的模块,发现没有显示安装fpm模块,但是fpm模块其实已经安装

-----------配置及优化FPM模块--------

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf //将模板文件变为配置文件

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf //将模板文件变为配置文件

vi www.conf // 修改36行

192.168.88.102:9000

cd /usr/local/php/etc/

vi php-fpm.conf

pid = run/php-fpm.pid //去除注释

/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

netstat -anpt | grep 9000

ln -s /usr/local/php/bin/* /usr/local/bin/

ps aux | grep -c "php-fpm" //结果

4 //结果为4

mkdir -p /var/www/html/webphp //这里创建的是在nginx的配置文件上定义的.php文件的根目录

vi /var/www/html/webphp/index.php //编辑测试页面

phpinfo();

?>

在浏览器里输入nginx服务器的IP即192.168.88.100/index.php 可以访问动态PHP页面

fbdcc62b008a2ee5a39e3f8f303a3710.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模仿u-boot的makefile结构

u-boot(2014.04)是通过顶层makefile调用各子目录中的makefile来实现整个工程的编译的,实际上子目录的makefile是include进来的。这里仿照这种结构写个模板测试一下。 目录结构: mytest: add: mul&#xff1…

我国机器视觉企业体量偏小,上游零部件占利润大头

来源:仪商网根据中国机器视觉产业联盟(CMVU)调查统计,目前进入中国市场的国际机器视觉企业和中国本土的机器视觉企业(不包括代理商)都已经超过200家,产品代理商超过300家,专业的机器视觉系统集成商超过70家,覆盖全产业…

php 后端 轻量 框架,GitHub - 22cloud/mixphp: 轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)...

高性能 • 轻量级 • 命令行MixPHP 是什么MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,提供了 Web / Console 开发所需的众…

技术面试问项目难题如何解决的_技术创新 | 降本增效,青海农信社项目小伙刻苦钻研解决联合支架设计难题!...

革新READ随着建筑技术的进步,建筑内部功能和机电系统越来越多样,带来机电管线的数量成倍增加。为节约建筑空间,提高建筑净高,保证系统功能,提升履约品质,越来越多的项目选择采用联合支架的形式将各类管线集…

AI研究过于集中狭隘,我们是不是该反思了?

来源:AI科技大本营译者 | 陆离编辑 | 夕颜【导读】2019年是AI领域更加冷静的一年,少了些喧嚣和泡沫,大浪淘沙留下的是经过检验的真正的AI研究者、实践者。但是你也许没有发现,本来被寄予厚望要解决一切“疑难杂症”的AI&#xff0…

svchost占用内存过高_是什么导致你的Java服务器内存和CPU占用过高呢

一、内存占用过高1、造成服务器内存占用过高只有两种情况:内存溢出或内存泄漏(1)内存溢出:程序分配的内存超出物理内存的大小,导致无法继续分配物理内存,出现OOM报错。(2)内存泄漏:不再调用的对象一直占用着内存不释放…

Even Three is Odd

题意&#xff1a; 问题是对于所有的长度为n&#xff0c;且$1<ai<n$的整数序列求 $\prod_{i1}^{n-2}{max \{w_i,w_{i1},w_{i2}}\}$ 之和。 解法&#xff1a; 首先设dp状态为 $f(i,j,k)$ &#xff0c;长度为$i3$的&#xff0c;最大值为k&#xff0c;且最大值出现的位置集合…

中国图书评论协会2019年度“中国好书”

来源&#xff1a;腾讯网2019.12.16第1127次推送为读者发现好书&#xff0c;为好书寻找读者。“中国好书”月榜由我国权威的图书评测机构中国图书评论学会发布&#xff0c;志达书店经整理编辑&#xff0c;为您呈现“中国好书”2019年度榜单&#xff08;1-10月&#xff09;。寒假…

a标签居中 img vue,让html img图片垂直居中的三种方法

三种让img元素图片在盒子内垂直居中的方式教程&#xff0c;依据代码与文章教程熟习掌握并加以应用。一、使用flex完成垂直居中操纵css flex实现垂直居中。flex或许不是完成垂直居中最好的选择&#xff0c;由于IE8,9其实不赞成它。那时&#xff0c;为了用flex实现垂直居中&#…

python——面向对象相关

其他相关 一、isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 123456class Foo(object):passobj Foo()isinstance(obj, Foo)二、issubclass(sub, super) 检查sub类是否是 super 类的派生类 1234567class Foo(object):passclass Bar(Foo):passissubclass(Bar, Foo)三、异…

德国工业4.0眼里“工业互联网”与“智能制造”

来源&#xff1a;智造智库工业4.0在德国被认为是第四次工业革命&#xff0c;主要是指&#xff0c;在“智能工厂”利用“智能备”将“智能物料”生产成为“智能产品”&#xff0c;整个过程贯穿以“网络协同”&#xff0c;从而提升生产效率&#xff0c;缩短生产周期&#xff0c;降…

php 正则匹配静态资源,Struts2 配置静态资源文件不经过Strut处理(正则匹配)

Struts2框架有两个核心配置文件&#xff1a;struts.xml和Struts2默认属性文件default.properties(在struts2-core-2.3.20.jar中)default.properties可以通过自己在classpath下写一个struts.properties文件进行定制改写为什么是struts.properties&#xff0c;这可以看org.apache…

全球数字孪生市场大预测:2025 年的 358 亿美元,年复合增长率(CAGR)高达 37.8%...

来源&#xff1a;云头条 数字孪生市场估计将从2019年的38亿美元猛增到2025年的358亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;高达37.8%。推动数字孪生需求增长的几个因素包括&#xff1a;越来越广泛地采用物联网和云计算之类的技术用于实施数字孪生&#xff…

yii3正式版什么时候发布_事业单位联考结束,成绩什么时候发布?合格分数线怎么算?...

今天上午&#xff0c;2020下半年全国事业单位联考笔试结束了。笔试刚刚结束&#xff0c;很多考生问图图有没有此次联考的答案&#xff0c;那肯定得有啊。为了帮助各位考生更好估分&#xff0c;华图教育推出估分系统&#xff0c;各位考生只需点击文末“了解更多”即可参与估分。…

德勤全球智慧城市2.0报告!中国占了世界一半

来源&#xff1a;德勤全球智慧城市新发展全球城市化的进程依然以不可阻挡的趋势向前推进&#xff0c; 到2050年&#xff0c; 接近70%的世界人口将生活在城市。人口大国中国和印度所在的亚洲将成为全球城市化最快的地区。在城市急速扩张的过程中&#xff0c; 先进的技术将帮助城…

大公司里怎样开发和部署前端代码

作者&#xff1a;张云龙链接&#xff1a;https://www.zhihu.com/question/20790576/answer/32602154来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。没人邀请&#xff0c;看到这个问题不错&#xff0c;路过怒答。&#x…

5G产业发展最新进展深度解析(144页PPT)

来源&#xff1a;吴东升本报告对不同区域&#xff08;全球、美国、中国、日本、欧洲等&#xff09;的5G产业发展做了深入、全面的分析&#xff1b;对5G产业链和生态链以及主要产业应用状况做了系统盘点分析&#xff1b;对5G技术进展、投资环境和投资机会等也做了详细梳理。是5G…

php layui table,Layui table组件相关介绍

出现的问题&#xff1a;1、使用 Layui 官方提供的 【转换静态表格】 方式初始化加载时报 id 找不到的错误(自己的锅)2、传递参数问题使用的 table 加载刷新方案有一个页面&#xff0c;左侧是一个 tree&#xff0c;右侧是一个 table&#xff0c;默认 table 加载全数据&#xff0…

存内计算能否成为下一代AI芯片的关键

来源&#xff1a;半导体行业观察随着人工智能的落地和大规模应用&#xff0c;AI芯片也成为了常见的芯片品类。AI芯片相比传统芯片来说&#xff0c;主要的竞争优势就在于高算力和高能效比。高算力是指能够比传统芯片更快地完成AI计算&#xff0c;而高能效比则是指能比传统芯片用…

[转载]sql server 分布式查询

--用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset--查询示例select * from openrowset(SQLOLEDB,sql服务器名;用户名;密码,数据库名.dbo.表名)在跨库查询时需要启用Ad Hoc Distributed Queries启用Ad Hoc Distributed Queries&#xff1a;exec sp…