0514笔记

LNMP架构介绍

LAMP的时候PHP是作为一个模块在Apache中,但是在LNMP中,PHP是一个服务,当用户请求的时候nginx会把它交给php 然后对mysql进行交互!像这种静态的,例如图片或者html,nginx会直接处理,从而加快访问速度,如果一个普通的站点你是看不到什么效果的,但是如果要是访问一个纯静态站点,nginx就能体现出它的优势!nginx的另外一个优势得益于它的高并发支持.

和LAMP不同的是,提供web服务的是Nginx 并且php是作为一个独立服务存在的,这个服务叫做php-fpm Nginx直接处理静态请求,动态请求会转发给php-fpm。

PHP安装

这里的PHP安装和LAMP安装PHP方法有差别,需要开启php-fpm服务
1.php编译、安装
首先把之前编译过的php配置删除;删除后就相当于php包刚解压的时候;
cd /usr/local/src/
cd php-5.6.32/
make clean
./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl

* --prefix=指定安装位置
* 

–with-config-file-path=指定配置文件目录
*
–enable-fpm=启动fpm服务
*
–with-fpm-user=指定用户
*
–with-fpm-group=指定用户组
*
–with-mysql=指定mysql的路径

2.php相关信息
此时会在/usr/local目录下,生成了php-fpm新目录
ls /usr/local/php-fpm/ //比之前的php多了sbin和var目录
ls /usr/local/php-fpm/sbin/ //sbin下有php-fpm
ls /usr/local/php-fpm/var/ //var下有log日志目录和PID目录

sbin:实际上就是启动php-fpm服务的目录
var:实际上就是存放PHP日志的,当然这个我们可以指定的

log: php日志目录;
run:进程PID目录

php-fpm 选项参数用法:-i -m -t
/usr/local/php-fpm/sbin/php-fpm -i //查看PHP信息
/usr/local/php-fpm/sbin/php-fpm -m //查看PHP模块
/usr/local/php-fpm/sbin/php-fpm -t //测试PHP配置语法
3 php配置
php解压目录中的php.ini-production文件复制到php-fpm/etc/目录中,并且重命名为php.ini
ls /usr/local/php-fpm/etc/
cp php.ini-production /usr/local/php-fpm/etc/php.ini
cd /usr/local/php-fpm/etc/
在php-fpm/etc/下有默认的php-fpm.conf.default配置文件,现在我们需要重新复制一份,方便试验操作
vi php-fpm.conf //新创建
… 以下为配置文件内容[global]pid = /usr/local/php-fpm/var/run/php-fpm.piderror_log = /usr/local/php-fpm/var/log/php-fpm.log[www]listen = /tmp/php-fcgi.sock#listen =127.0.0.1:9000listen.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024…
相关名词释义
*
[global]=定义全局参数
*
[www]=自定义模块
*
listen = 监听的地址
*
或者可以使用这样的方式↓
*
listen = 127.0.0.1:9000 (port默认为9000,也可以更改)
*
listen.mode = 666 用来定义listen = /tmp/php-fcgi.sock的权限,只有这个sock打开的情况下才生效!

把解压目录下的脚本sapi/fpm/init.d.php-fpm 复制到/etc/init.d下
cd /usr/local/src/php-5.6.32/
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
然后给予755权限,增加开机服务等操作
chmod 755 /etc/init.d/php-fpm //给予755权限
chkconfig --add php-fpm //增加服务
chkconfig php-fpm on
service php-fpm start //开启php-fpm服务

查看php-fpm启动信息
ps aux |grep php-fpm

Nginx介绍

因为nginx处理静态文件的能力要比apache好很多,所以很多企业在建站的时候一般都是用java写的,然后会选择tomcat,但是tomcat处理静态文件的能力不是太好就会叠加选择nginx。
1 Nginx编译、安装
下载配置安装Nginx,并解压
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.4.7.tar.gz
进入解压目录,进行./configure定制服务,使其生成makefile文件;
cd nginx-1.4.7/
./configure --prefix=/usr/local/nginx
编译生成的makefile文件make
开始安装 make install
/usr/local/nginx/sbin/nginx -t 测试配置语法错误
2.设置nginx脚本
在init.d目录下,新建nginx脚本文件
vim /etc/init.d/nginx
然后增加权限,以及启动服务;
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
进入nginx/conf/目录下,把默认的配置文件作为备份;
cd /usr/local/nginx/conf/
mv nginx.conf nginx.conf.1 //把原配置文件作为备份
新建nginx.conf配置文件,并按下面写入内容
以下为配置内容…

user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 6000;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format combined_realip ‘$remote_addr KaTeX parse error: Double subscript at position 7: http_x_̲forwarded_for [time_local]’
h o s t " host " host"request_uri" KaTeX parse error: Double superscript at position 9: status' '̲ "http_referer" "KaTeX parse error: Can't use function '\.' in math mode at position 837: …ml; location ~ \̲.̲php
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/htmlKaTeX parse error: Expected 'EOF', got '}' at position 22: …i_script_name; }̲ } } 相关名词,释义 *…;配置解析PHP
*
fastcgi_pass unix:/tmp/php-fcgi.sock;监听端口或者监听socket,通过此命令去执行
*
fastcgi_pass 127.0.0.1:9000;(或者携程这种方式,服务器IP地址+端口)

可参考文章:http://www.okay686.cn/510.html
启动nginx服务
/usr/local/nginx/sbin/nginx -t
/etc/init.d/nginx start //开启服务
ps aux |grep nginx //查看相关服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值