LNMP服务

部署LNMP环境
安装部署Nginx、MariaDB、PHP环境
安装部署Nginx、MariaDB、PHP、PHP-FPM;
启动Nginx、MariaDB、FPM服务;
并测试LNMP是否工作正常。

步骤一:安装软件
1)使用yum安装基础依赖包
yum -y install gcc openssl-devel pcre-devel zlib-devel

2)源码安装Nginx
useradd –s /sbin/nologin nginx 创建nginx用户
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure \
--prefix=/usr/local/nginx \ 选择路径
--user=nginx --group=nginx \ 选择用户及组
--with-http_ssl_module 添加https模块
make && make install 编译及安装

3)安装MariaDB
Mariadb在新版RHEL7光盘中包含有该软件,配置yum源后可以直接使用yum安装:
yum –y install mariadb mariadb-server mariadb-devel

4)安装php和php-fpm
yum –y install php php-mysql
rmp -ivh php-fpm-5.4.16-36.el7_1.x86_64.rpm

步骤二:启动服务
1)启动Nginx服务
注意:如果服务器上已经启动了其他监听80端口的服务软件(如httpd),
则需要先关闭该服务,否则会出现冲突。
netstat -lantpu |grep :80 查看80端口是否被占用
/usr/local/nginx/sbin/nginx 启动Nginx服务
netstat -autnlp | grep :80

2)启动MySQL服务
systemctl start mariadb
systemctl status mariadb 查看mysql状态
systemctl enable mariadb

3)启动PHP-FPM服务
systemctl start php-fpm
systemctl status php-fpm
systemctl enable php-fpm

构建LNMP平台
LNMP服务器(192.168.4.5)、客户机(192.168.4.100)
Nginx结合FastCGI技术即可支持PHP页面架构,通过修改Nginx及php-fpm配置文件实现对PHP页面的支持。
FastCGI是一种常驻(Long-Live)型的CGI,将CGI解释器进程保持在内存中,进行维护与调度。
FastCGI缺点:内存消耗大,因为它是多进程,比CGI多线程消耗更多的服务器内存
PHP-CGI解释器每进程消耗7至25兆内存
Nginx+PHP(FastCGI)服务器在3万并发连接下
开10个Nginx进程消耗150M内存
开64个php-cgi进程消耗1280M内存(每个20M)

FastCGI工作流程:
1.Web Server启动时载入FastCGI进程管理器
2.FastCGI进程管理器初始化,启动多个解释器进程
3.当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个解释器
4.FastCGI子进程完成处理后返回结果,将标准输出和错误信息从同一连接返回Web Server

php-fpm需要修改的常见配置如下:
listen = 127.0.0.1:9000 PHP端口号
pm.max_children = 50 最大进程数量
pm.start_servers = 15 最小进程数量
pm.min_spare_servers = 5 最少需要几个空闲着的进程
pm.max_spare_servers = 32最多允许几个进程处于空闲状态

2.3 步骤
1)创建并修改php-fpm配置文件
vim /etc/php-fpm.d/www.conf
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

2)确认php-fpm服务已经启动
systemctl restart php-fpm
systemctl status php-fpm

步骤二:修改Nginx配置文件并启动服务
vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
}
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000; php-fpm IP与端口
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf; 加载Fast-CGI参数文件
}

重启Nginx服务:
/usr/local/nginx/sbin/nginx -s reload

步骤三:创建PHP页面,测试LNMP架构能否解析PHP页面
1)创建PHP测试页面1:
vim /usr/local/nginx/html/test1.php
<?php
$i="This is a test Page";
echo $i;
?>

2)创建PHP测试页面,连接并查询MariaDB数据库:
vim /usr/local/nginx/html/test2.php
<?php
$mysqli = new mysqli(‘localhost‘,‘root‘,‘‘,‘mysql‘);
if (mysqli_connect_errno()){
die(‘Unable to connect!‘). mysqli_connect_error();
}
$sql = "select * from user";
$result = $mysqli->query($sql);
while($row = $result->fetch_array()){
printf("Host:%s",$row[0]);
printf("</br>");
printf("Name:%s",$row[1]);
printf("</br>");
}
?>

3)客户端使用浏览器访问服务器PHP首页文档,检验是否成功:
firefox http://192.168.4.5/test1.php
firefox http://192.168.4.5/test2.php

地址重写
获得一个来访的URL请求,然后改写成服务器可以处理的另一个URL的过程。
优点:缩短URL,隐藏实际路径提高安全性
易于用户记忆,易于被搜索引擎收录

rewrite选项:
格式:rewrite regex replacement flag
flag = break:停止执行其他的重写规则,完成本次请求
last:停止执行其他重写规则,根据URL继续搜索其他
location:地址栏不改变
redirect:302临时重定向,地址栏改变,爬虫不更新URL
permanent:301永远重定向,地址栏改变,爬虫更新URL

正则表达式匹配:
~:区分大小写匹配
~:不区分大小写匹配
!~:区分大小写不匹配
!~
:不区分大小写不匹配

例;所有访问a.html的请求,重定向到b.html;
所有访问192.168.4.5的请求重定向至www.tmooc.cn;
所有访问192.168.4.5/下面子页面,重定向至www.tmooc.cn/下相同的页面;
实现curl访问不同的页面。

步骤一:修改配置文件(访问a.html重定向到b.html)
1)修改Nginx服务配置:
vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
rewrite /a.html /b.html;
}
}

2)重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload

3)客户端测试
firefox http://192.168.4.5/a.html

步骤二:修改配置文件(访问192.168.4.5的请求重定向至www.tmooc.cn)
1) 修改Nginx服务配置
vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
listen 80;
server_name localhost;
rewrite ^/ http://www.tmooc.cn/;
location / {
root html;
index index.html index.htm;
}
}

2)重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload

3)客户端测试
firefox http://192.168.4.5

步骤三:修改配置文件(访问192.168.4.5/下面子页面,重定向至www.tmooc.cn/下相同的页面)
1) 修改Nginx服务配置
vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
listen 80;
server_name localhost;
rewrite ^/(.*) http://www.tmooc.cn/$1;
location / {
root html;
index index.html index.htm;
}
}

2)重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload

3)客户端测试
firefox http://192.168.4.5

步骤三:修改配置文件(实现curl和火狐访问相同连接返回的页面不同)
1) 修改Nginx服务配置
.. ..
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
if ($http_user_agent ~ url) { 识别客户端curl浏览器
rewrite ^(.
)$ /curl/$1 break;
}
}

2)创建网页目录以及对应的页面文件:
echo "I am Normal page" > /usr/local/nginx/html/test.html
mkdir -p /usr/local/nginx/html/curl/
echo "I am is curl page" > /usr/local/nginx/html/curl/test.html
cp /usr/share/backgrounds/gnome/Road.jpg \
/usr/local/nginx/curl/test.jpg

2)重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload

4)客户端测试
firefox http://192.168.4.5/test.html
curl http://192.168.4.5/test.html
curl http://192.168.4.5/test.jsp

原文地址:http://blog.51cto.com/13399294/2060047

时间: 2024-11-08 23:43:31

LNMP服务的相关文章

图文详解如何快捷搭建LNMP服务环境

上一篇与大家一起学习了下如何搭建LAMP环境的知识,今天小编再和大家分享下如何快捷地搭建LNMP环境,并搭建起一个网站.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.目前很受站长们的青睐,尤其是要求不是很高的中小型网站. 一.下载LNMP一键安装包 下载地址:http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz 国内备用地址:https://api.sinas3.com/v1/SAE_lnmp/soft/ln

0537-实战将lnmp服务中的数据库独立分离到服务器

前面安装的nginx和php,mysqld的服务要加入开机自启动,加入方法如下: vi /etc/rc.local添加如下内容为开机自启动 [[email protected] extra]# vi /etc/rc.local 追加到/etc/rc.local文件最后面 #### /application/nginx/sbin/nginx /application/php/sbin/php-fpm /etc/init.d/mysqld start 备份所有库(不需要备份所有库只需要备份wordp

nginx博客:基于nginx构建LNMP服务

一.nginx简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率. 目前nginx在大陆主要有两个分支:Tengine(淘宝).Registry nginx工作时,先启动一个master进程,然后由master进程生成一个或多个worker进程(自己设置),每个worker线程响

LNMP服务搭建

搭建环境:一台主机 192.168.56.12安装nginx,mysql,php关闭防火墙,selinux 1.编译安装nginx//创建系统用户[[email protected] ~]# useradd -r -M -s /sbin/nologin nginx//安装依赖环境[[email protected] ~]# yum -y install pcre-devel openssl openssl-devel gd-devel[[email protected] ~]# yum -y g

搭建LNMP服务

(1)配置yum源 并挂载(2)配置YUM源软件仓库(3)上传组件(4)把组件移动到 /usr/local/src 目录下(5)安装Cmake编译工具cd /usr/local/srctar xzvf cmake-2.8.11.2.tar.gzcd cmake-2.8.11.2/./configuremake & make install(6)配置mysql服务(7)cd mysql-5.6.19/ 下 定义参数目录(8)输入make 安装(9)输入make install 安装 原文地址:ht

搭建LNMP服务(一)

(1)配置yum源 并挂载(2)配置YUM源软件仓库(3)上传组件(4)把组件移动到 /usr/local/src 目录下(5)安装Cmake编译工具cd /usr/local/srctar xzvf cmake-2.8.11.2.tar.gzcd cmake-2.8.11.2/./configuremake & make install(6)配置mysql服务(7)cd mysql-5.6.19/ 下 定义参数目录(8)输入make 安装(9)输入make install 安装 (10)删除/

ubuntu安装配置LNMP

Ubuntu-15. 04安装配置LNMP服务 一.操作系统版本信息 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 14.04.4 LTS Release:    14.04 Codename:   trusty 二.安装MYSQL (1)开始安装: apt-get install mysql-server libmys

安装PHP以及搭建博客(三)服务迁移分离

LNMP服务环境都在一台机器上(IP:125),现在要做到把mysql服务迁移出来(IP:129),把图片文件迁移到NFS服务器上(IP:130) mysql服务器(129) 安装mysql配置过程(下载略) useradd mysql -s /sbin/nologin -M mkdir -p /application tar xf mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz mv mysql-5.5.59-linux-glibc2.12-x86_64

open_basedir restriction in effect,解决php引入文件权限问题 lnmp

1.配置了虚拟域名 vim /usr/local/nginx/conf/vhost/siemens.conf server { listen 80; #listen [::]:80 default_server ipv6only=on; server_name local.siemens.com; index index.html index.htm index.php; root /home/wwwroot/default/siemens/new_hotel/Public; #error_pa