部署LNMP

第1章 编译安装Nginx

到目前为止还未发现操作系统ISO镜像自带,或者默认情况下yum可以直接通过rpm包方法安装Nginx的情况。如果要使用yum安装Nginx,则需要配置epel yum源或去官网寻找。

1.1 安装Nginx所需的pcre库

yum install  pcre  pcre-devel -y

注意:                  

   安装pcre库是为了使Nginx支持具备URI重写功能rewrite模块;rewrite模块功能在企业中最常用的;

1.1 安装依赖关系的软件包  pcre pcre-devel、openssl  openssl-devel

[[email protected] ~]# rpm -qa pcre pcre-devel  ###查看安装结果 prce   prce-devel

pcre-7.8-7.el6.x86_64

pcre-devel-7.8-7.el6.x86_64

[[email protected] ~]# rpm -qa openssl openssl-devel  ##查看安装结果openssl  openssl-devel

openssl-1.0.1e-48.el6_8.4.x86_64

openssl-devel-1.0.1e-48.el6_8.4.x86_64

###如果这两个软件包都没有安装,yum安装

#yum install  pcre  pcre-devel -y

#yum install  optenssl openssl-devel  -y

#1.安装依赖包

yum install -y  pcre-devel openssl-devel

注意:

Nginx在使用HTTPS服务的时候需要用到此模块,如果不安装optenssl相关包,安装Nginx的过程会报错。

1.2 开始安装Nginx

1.2.1 创建目录,创建的这个目录用来固定存放各种软件; (统一个存放软件的目录)

mkdir -p /home/oldboy/tools  ##创建文件目录

1.2.2 下载软件包,进入到/home/oldboy/tools目录下面,下载软件安装包

cd /home/oldboy/tools

wget http://nginx.org/download/nginx-1.10.2.tar.gz

#注意:

在选择下载安装包时,要选定稳定的版本    ##为偶数

1.2.3 解压

[root[email protected] tools]# tar xf nginx-1.10.2.tar.gz

[[email protected] tools]# ll

total 896

drwxr-xr-x 8 1001 1001   4096 Oct 18 23:03 nginx-1.10.2

-rw-r--r-- 1 root root 910812 Mar 22 18:10 nginx-1.10.2.tar.gz

1.2.4 创建虚拟用户

useradd  -s /sbin/nologin -M www

1.2.5 配置(configure)nginx ;

cd /home/oldboy/tools/nginx-1.10.2   #进入这个目录下面来配置

./configure  --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module  --with-http_ssl_module

注意: ./configure--help帮助信息

--user=USER                         ##进程用户权限

--group=www                         ##进程用户组权限

-prefix=/application/nginx-1.10.2   ##设置安装路径

--with-http_stub_status_module      ##激活状态信息

--with-http_ssl_module              ##激活ssl功能

1.2.6  编译,安装

make

make install

1.2.7 创建软连接

ln -s /application/nginx-1.10.2 /application/nginx

1.2.8 检查配置文件语法

/application/nginx/sbin/nginx   -t

nginx: the configuration file /application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file /application/nginx-1.10.2/conf/nginx.conf test is successful

命令说明:

-t  是检查配置文件的语法

-s 【reload】  是让配置文件平滑重启,不会影响其它用户

/application/nginx/sbin/nginx   -s  reload

1.2.9 启动nginx进行测试

/application/nginx/sbin/nginx

1.2.10 检测服务

1、查看端口服务是否开启

lsof -i:80

[[email protected] nginx]# netstat -lnt|grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:46580               0.0.0.0:*                   LISTEN

2、浏览器访问 10.0.0.8

打开浏览器输入http://10.0.0.8(为安装nginx服务器的IP地址),然后回车

第2章 MySQL

1.1 MySQL安装部署步骤(web01)

1.1.1 上传MySQL软件到响应的目录中

1.1.2 解压MySQL软件,将解压后目录放置到/application目录中,并创建软连接。

解压MySQL二进制包

cd /home/oldboy/tools

tar xf mysql-5.6.34-*-x86_64.tar.gz

把MySQL 移动到 /application/

mkdir -p /application/

mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34

创建软连接

ln -s /application/mysql-5.6.34/ /application/mysql

ll /application/mysql

1.1.3 让MySQL用户管理

chown -R mysql.mysql /application/mysql/

1.1.4 创建管理MySQL服务的用户mysql

groupadd mysql

useradd mysql -g mysql -M -s /sbin/nologin

useradd mysql -M -s /sbin/nologin

1.1.5 初始化MySQL(创建默认数据库数据信息过程)

cd /application/mysql

##在数据库MySQL目录下执行

./scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data/

1.1.6 复制启动脚本,授权。/appl

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

/application/mysql/bin/mysqld_safe &

\cp support-files/mysql.server /etc/init.d/mysqld

ll /etc/init.d/mysqld

1.1.7 修改启动脚本和MySQL命令中的路径

mysql启动脚本 默认放在support-files/mysql.server

sed -i ‘s#/usr/local/mysql#/application/mysql#g‘ /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

启动:

/etc/init.d/mysqld start

启动不成功:

修改配置文件,复制过来,复制之前先备份,以免出现错误。

cp /etc/my.cnf{,.ori}

\cp /application/mysql/my.cnf /etc/my.cnf

1.1.8 检查是否启动成功

nestat -lntup|grep mysql

ps -ef|grep mysql

##3306 为mysql专用端口

1.1.9 小结

初始化脚本文件 /scripts/mysql_install_db

服务启动脚本文件 /application/mysql/bin/mysqld_safe support-files/mysql.server(/etc/init.d/ +x)

1.2 进入数据库命令

/application/mysql/bin/mysql

1.2.1 设置密码

/application/mysql/bin/mysqladmin -u root password ‘oldboy123‘

看见warning不要害怕,只是一个警告。

1.2.2 设置完密码如何进入

命令行输入密码

/application/mysql/bin/mysqladmin -u root password ‘oldboy123‘

交互式输入密码

/application/mysql/bin/mysql -uroot -p

1.2.3 加入开机自启动

chkconfig --add mysqld

chkconfig mysqld on

1.3 进入数据库操作

1.3.1 查看所有数据库

show databases

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| wordpress          |

+--------------------+

5 rows in set (0.05 sec)

mysql>

1.3.2 刷新

flush privileges;

1.3.3 创建数据库

create database 名字;

mysql> create database oldgirl;

Query OK, 1 row affected (0.04 sec)

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| oldgirl            |

| performance_schema |

| test               |

| wordpress          |

+--------------------+

1.3.4 查询用户的权限,当前系统都有什么用户?他们可以在那里登录?

select user,host from mysql.user;

mysql> select user,host from mysql.user;

+-----------+------------+

| user      | host       |

+-----------+------------+

| root      | 127.0.0.1  |

| wordpress | 172.16.1.% |

| root      | ::1        |

|           | db01       |

| root      | db01       |

|           | localhost  |

| root      | localhost  |

+-----------+------------+

7 rows in set (0.06 sec)

1.3.5 删除数据库

drop database 数据库名字;

1.3.6 查看当前所属的数据库,相当于从pwd命令

select database()

1.3.7 添加用户并授予权限

grant all on wordpress.* to ‘用户名‘@ ‘在哪‘ identfied by ‘密码‘

###db01添加新的用户  那个%的不好使添加这个

grant all on wordpress.* to ‘[email protected]‘172.16.1.0/255.255.255.0‘ identified by ‘123456‘;

flush privileges;

1.3.8 数据库常用操作命令说明

show databases;             ---查看数据库信息

create database oldboy;       ---创建新的数据库

drop database oldboy;        ---删除存在的数据库

show tables;              ---查看数据库中表信息

use mysql;                 ---切换数据库

select database();            ---查看所在数据库,相当于pwd

select * from user\G;         ---查看user表中所有信息,并且纵行显示

select user,host from user; ---查看user表中指定信息,并且横行显示

select user,host from mysql.user;

grant all on *.* to [email protected]‘host‘ identified by ‘oldboy123‘;           ---创建用户

grant all on *.* to [email protected]‘localhost‘ identified by ‘oldboy123‘;   ---创建用户(大写用户)

drop user ‘user‘@‘host‘;

flush privileges;          --- 刷新权限

第3章 PHP

2.1 安装PHP基础库

2.1.1 基础依赖包

解压PHP软件,进行编译安装,将程序安装到/application目录中,并且创建软连接

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y

2.1.2 安装字符集转换库---libicony

mkdir -p /home/oldboy/tools

cd /home/oldboy/tools

#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

编译:

make

make install

2.1.3 安装其他相关程序--libmcrypt

在/home/oldboy/tools下载工具的目录

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum -y install libmcrypt-devel mhash mcrypt

rpm -qa libmcrypt-devel mhash mcrypt

2.1.4 报错

创建软连接

ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/

touch ext/phar/phar.phar

如果是nginx用户则需要修改php-fpm.conf.default 这个配置文件user = www:group = www改变一下

改变方法:

#sed -i ‘s#user = www#user = nginx#g;s#group = www#group = nginx#g‘ /application/php-5.5.32/etc/php-fpm.conf.default

2.1.5 创建软连接

ln -s /application/php-5.5.32/ /application/php

2.1.6 配置php解析文件

cd /home/oldboy/tools/php-5.5.32

cp php.ini-production /application/php/lib/php.ini

2.1.7 配置php-fpm配置文件

cd /application/php/etc/

cp php-fpm.conf.default php-fpm.conf

2.1.8 启动php-fpm

/application/php/sbin/php-fpm

#查看端口,是否启动。

lsof -i :9000

ps -ef|grep php-fpm

2.2 测试php与MySQL沟通是否正常

编辑

/application/nginx/html/blog

vim test_mysql.php

?php

//$link_id=mysql_connect(‘主机名‘,‘用户‘,‘密码‘);

//mysql -u用户 -p密码 -h 主机

$link_id=mysql_connect(‘localhost‘,‘wordpress‘,‘123456‘) or mysql_error();

if($link_id){

echo "mysql successful by oldboy !\n";

}else{

echo mysql_error();

}

?>

第4章 安装博客

进入tools目录

cd /home/oldboy/tools/

3.1 解压软件wordpress

tar xf wordpress-4.7.3-zh_CN.tar.gz

3.2 将软件移动到博客配置文件路径/application/nginx/html/blog/

mv wordpress/*    
/application/nginx/html/blog/

3.3 给予/application/nginx/html/blog/路径www权限

chown -R www.www /application/nginx/html/blog/

3.4 数据库迁移

将本地的数据库迁移到mysql服务器

推过去web01==>db01

scp
/home/oldboy/tools/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
172.16.1.51:/home/oldboy/tools/

将压缩包推倒MySQL服务器

解压创建数据库,创建用户。

在本地/application/nginx/html/blog路径下,修改vim wp-config.php文件。

......................省略

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //

/** WordPress数据库的名称 */

define(‘DB_NAME‘, ‘wordpress‘);

/** MySQL数据库用户名 */

define(‘DB_USER‘, ‘wordpress‘);

/** MySQL数据库密码 */

define(‘DB_PASSWORD‘, ‘oldboy123‘);

/** MySQL主机 */

define(‘DB_HOST‘, ‘172.16.1.51‘); 
##将IP地址改成mysqlIP地址

/** 创建数据表时默认的文字编码 */

define(‘DB_CHARSET‘, ‘utf8mb4‘);

/** 数据库整理类型。如不确定请勿更改 */

define(‘DB_COLLATE‘, ‘‘);

..........................省略

时间: 2024-11-05 15:54:28

部署LNMP的相关文章

Python实现一键安装部署LNMP环境

最近一直在学Python,东西比较多,时间持续的也比较长,为了能够学以致用,想到了原来写过的shell一键安装部署LNMP脚本,既然shell能写,Python也一定能写,就用学到的知识写了下面这个版本,这可能并不是最优版本,等学到更多东西的时候再进行优化升级! 环境介绍: Python 2.6.6 Centos 6.5 nginx 1.10.1 mysql 5.6.34 php 5.3.3 代码如下: #!/bin/env python import os import sys def ent

老司机教你使用shel脚本15分钟部署LNMP

防伪码:我喜欢出发,只为到达的地方都属于昨天!          老司机教你使用shel脚本15分钟部署LNMP 一.环境简介 1.LNMP,顾名思义,就是Linux系统下Nginx+MySQL+PHP的一种网站服务器架构. 2.Linux是目前最流行的免费操作系统,代表版本有debian.centos.fedora.gentoo等, 今天我们使用CentOS-6.5作为LNMP架构的基础. 3.Nginx是一个高性能的HTTP和反向代理服务器,其性能稳定.功能丰富.运维简单.处理静态文件速度快

【中级篇】Linux下部署LNMP架构及应用

部署LNMP架构及应用 1.          实验需求: 1)     搭建Nginx 2) 构建PHP运行环境 3) 搭建MySQL 数据库 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.30 WIN7系统客户机: IP: 192.168.10.1 3.      实验步骤: 基本安装操作: 1.搭建Nginx 配置: 这里要把光盘挂载到yum源里 再次执行配置的参数: 这时可能还会有报错

saltstack之yum简单部署lnmp

今天使用salt简单部署lnmp 部署环境: node23.com 192.168.0.23 master/minion 部署nginx和phpnode24.com 192.168.0.24 minion 部署mysql 首先看一下结构目录: # tree . ├── dev │ ├── files │ │ ├── httpd.conf │ │ └── my.cnf │ └── lamp.sls ├── mysql │ ├── my.cnf │ └── mysql_installed.sls ├

安装部署LNMP/大并发nginx优化/php性能加速 实战

安装部署LNMP及Nginx优化.PHP加速进行压力测试 部署LNMP环境: 主机 IP 主机名 Centos7.2 192.168.5.128 www.benet.com 部署步骤如下: 使用yum仓库安装Nginx依赖包 yum -y install  gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel 创建Nginx用户 组解压Nginx软件包 编译安装Nginx ./configur

自动部署LNMP脚本

最近抽时间写了一份LNMP部署脚本,使用源码安装所需软件,源码软件包网络上很容易获取,这里仅贴出脚本内容,大家可以自行在网络上下载对应的软件放在脚本当前目录即可,实际下载的软件包如果与脚本所调用的软件版本号及压缩格式有差异时,可以修改脚本开始的变量定义即可.        脚本会检测目标主机的语音环境,如果目标主机运行中文环境,则脚本运行中的所有提示信息均为中文,反之则提示信息为英文.脚本在安装相关软件的依赖包时会调用YUM安装对应的软件,运行脚本前确认YUM是可用的,否则脚本检测无YUM源可用

41.部署LNMP平台源码

源码部署LNMP v 环境需求:关闭防火墙,设置静态IP地址,部署YUM库 # systemctl stop firewalld                  #关闭firewalld防火墙 # systemctl disable firewalld.service           #禁止firewalld服务自启 # sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config  #关闭SELINUX # s

yum源部署LNMP及简介

LNMP是一个基于CentOs编写的企业网站平台之一,基于Linux系统.Nginx服务.MySQL数据库和网站开发语言(PHP.perl.Python),Nginx是一个高性能Http和反向代理服务器,也是一个也是一个IMAP/POP3/SMTP代理服务器,MySQL是数据管理系统,PHP是一种在服务器端执行脚本语言,以上均为免费开源软件组合在一起称为一个免费.高效和扩展性能强的网站服务系统. 以下是yum源安装LNMP /etc/init.d/NetworkManager stop chkc

部署LNMP平台和相关的实验

该实验分为四个部分,实验一为搭建LNMP平台,实验二为测试能否解析php的文件 和连接数据库的效果,实验三为实现地址重写的功能,实验四为不同的浏览器,给出不同样式的页面 实验一:部署LNMP环境 一.目标 安装部署Nginx.MariaDB.PHP环境 安装部署Nginx.MariaDB.PHP.PHP-FPM: 启动Nginx.MariaDB.FPM服务: 并测试LNMP是否工作正常. 二.各软件的安装 1.安装源码包安装时需要的依赖包 yum -y install gcc openssl-d

部署LNMP Nginx+FastCGI 、 Nginx高级技术

案例1:部署LNMP环境案例2:构建LNMP平台案例3:地址重写1 案例1:部署LNMP环境1.1 问题 安装部署Nginx.MariaDB.PHP环境安装部署Nginx.MariaDB.PHP.PHP-FPM:启动Nginx.MariaDB.FPM服务:并测试LNMP是否工作正常.1.2 方案 在RHEL7系统中,源码安装Nginx,使用RPM包安装MariaDB.PHP.PHP-FPM软件.操作过程中需要安装的软件列表如下:nginxmariadb.mariadb-server.mariad