龙空技术网

Linux LNMP架构部署

King代号K 1070

前言:

如今看官们对“nginxphpmysql部署”可能比较重视,大家都想要了解一些“nginxphpmysql部署”的相关内容。那么小编同时在网上网罗了一些关于“nginxphpmysql部署””的相关知识,希望兄弟们能喜欢,咱们一起来了解一下吧!

LNMP架构部署(linux、nginx、mysql、php)部署Linux系统优化

系统优化 安全优化 (iptables关闭 selinux关闭 /tmp目录权限1777)

部署架构初始化状态

部署nginx服务

采用编译安装方式,安装nginx服务(请看之前的文章内容,有相关安装教程。在这里不多解释)

部署MySQL数据库服务

部署PHP动态解析服务

部署MySQL服务

第一步:

检查MySQL数据服务有没有安装

第二步:安装MySQL数据服务

数据库安装方式

第一种:yum install –y MySQL*

第二种:通过编译安装方式安装MySQL数据库(数据库课程讲解)

第三种:采用二进制包的安装方式,安装MySQL数据库(绿色软件包方式)

下载MySQL二进制包:

ftp下载链接:

安装软件包:

下载到服务器当中,进行软件的解压mysql解压后的程序包搬家到程序目录下,并进行重命名。创建软连接进行授权数据存储目录,授权为mysql用户管理

创建数据库管理用户

让mysql用户管理 /application/mysql/

第三步:进行数据库初始化操作

作用:创建基本数据库信息,生成到/data目录中

#1. 确认软件安装在哪里

#2. 确认数据存放在哪里

#3. 确认MySQL使用的用户谁?

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

复制启动脚本 授权

复制启动脚本

授权

修改启动脚本 和 mysql命令中的路径复制默认的配置文件启动Mysql

至此,mysql数据库安装与启动完成;可以检测进程和服务端口,确认mysql服务是否启动正确

如上图所示证明Myssql启动成功

给MySQL设置个密码方法一:方法二:

Warning: Using a password on the command line interface can be insecure.

以上仅仅为友情提示非报错:命令行明文显示修改密码可能不安全。

命令大集合

cd /server/tools

tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

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

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

useradd -s /sbin/nologin -M mysql

chown -R mysql.mysql /application/mysql/data/

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

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

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

\cp /application/mysql/support-files/my-default.cnf /etc/my.cnf

/etc/init.d/mysqld start

懒人安装方法请按照如上命令对应自己安装的版本执行吧....

管理mysql数据库方法

Nginx 结合PHP FastCGI 运行的原理图

进入与退出mysql数据库方法

如上图根据上次修改的密码通过密码登陆Mysql

扩展知识登录数据库命令简化方法

给mysql启动程序全绝对路径设置一个环节变量

注意——退出数据库时,尽量不要用ctrl+c进行退出mysql 用ctrl+d进行退出

设置mysql服务开机自启动数据库基础操作——数据库框架

show databases; <--- 查询默认的数据库信息

create database keke; <---创建新的数据库

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

use mysql; <--- 表示选择使用一个数据库,相当于cd进入一个数据库

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

select database(); <--- 表示查看当前所在数据库,类似于pwd命令的功能

select user(); <--- 查看当前登录数据库的用户,类似于whoami命令

并且mysql还可以限制指定用户可以从哪里进行连接登录数据库

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

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

select user,host from mysql.user; ---查看可以登录mysql数据库的目录,以及都可以从哪里进行

管理mysql数据库

grant all on *.* to user@'host' identified by 'keke811888'; ---创建用户

grant all on *.* to Old_keke@'localhost' identified by 'keke811888'; ---创建用户(大写用户)

drop user 'user'@'host'; ——删除用户

flush privileges; --- 刷新权限

创建数据库

删除存在的数据库

查看某个数据库(这里为Mysql数据库)中的表信息

查看当前所在数据库及登陆的用户

查看user表中指定信息,并且横行显示

其他不一一列举了,请自行操作练习

部署PHP服务——编译安装方法第一步:解决软件依赖

Nginx FastCGI的原理

Nginx不支持对外部动态程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,为了调用CGI程序,还需要一个FastCGI的wrapper(可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定的socket上,如端口或文件socket。当Ningx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapeer接受到请求,然后派生出一个新的线程,这个线程调用解释器或外部程序处理来读取返回的数据,接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nignx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运行过程。

安装依赖软件:

#yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

# rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

安装完检查依赖包是否全部下载安装完成

libiconv软件安装---字符集转换库

cd /server/tools

下载软件包:

wget

解压软件包:

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

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

make

make install

cd ../

第二步:进行PHP软件编译安装——三部曲

进行编译前配置

避免编译与编译安装过程出现异常,执行以下操作

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

touch ext/phar/phar.phar

配置

cd /server/tools/

tar xf php-5.5.32.tar.gz

cd php-5.5.32

./configure \

--prefix=/application/php-5.5.32 \

--with-mysql=/application/mysql-5.6.34 \

--with-pdo-mysql=mysqlnd \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--with-mcrypt \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-soap \

--enable-short-tags \

--enable-static \

--with-xsl \

--with-fpm-user=www \

--with-fpm-group=www \

--enable-ftp \

--enable-opcache=no

进行软件编译与编译安装过程

make && make install

PHP软件程序创建软链接

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

配置php解析文件/配置php-fpm配置文件

cd /server/tools/php-5.5.32

ll php.ini*

-rw-r--r--. 1 1001 1001 69236 2016-02-02 21:33 php.ini-development --- 是开发人员调试用配置文件

-rw-r--r--. 1 1001 1001 69266 2016-02-02 21:33 php.ini-production --- 生产环境常用配置文件

cp php.ini-production /application/php/lib/php.ini --- 此文件参数可以用于优化,优化PHP程序

cd /application/php/etc/

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

步骤就按照上面复制即可

让nginx与PHP服务建立连接关系

如果想让首页文件默认显示php页面信息,进行如下配置文件修改

将index.php放在最前方

设置Nginx全局变量并执行语法检查,平滑重启Nginx

编写nginx到php连通性测试文件

注意:整个测试连通性的配置文件是在blog的站点目录下编写

浏览器进行测试

测试成功

让PHP与MySQL建立连接关系

测试成功

本次完,谢谢大家支持——ke.ke

标签: #nginxphpmysql部署 #lnmp14重启nginx #phpcdll