45 views

LNMP架构部署(linux、nginx、mysql、php)

By | 2019年8月8日
  • 部署Linux系统优化

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

Linux LNMP架构部署

部署架构初始化状态

  • 部署nginx服务

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

部署MySQL数据库服务

部署PHP动态解析服务

部署MySQL服务

第一步:

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

第二步:安装MySQL数据服务

  • 数据库安装方式

第一种:yum install –y MySQL*

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

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

下载MySQL二进制包: https://www.mysql.com/

ftp下载链接:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/

安装软件包:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz

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

创建数据库管理用户

Linux LNMP架构部署

让mysql用户管理 /application/mysql/

Linux LNMP架构部署

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

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

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

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

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

Linux LNMP架构部署

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

  • 复制启动脚本 授权
Linux LNMP架构部署

复制启动脚本

Linux LNMP架构部署

授权

  • 修改启动脚本 和 mysql命令中的路径
Linux LNMP架构部署
  • 复制默认的配置文件
Linux LNMP架构部署
  • 启动Mysql
Linux LNMP架构部署

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

Linux LNMP架构部署

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

给MySQL设置个密码

  • 方法一:
Linux LNMP架构部署
  • 方法二:
Linux LNMP架构部署

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数据库方法

Linux LNMP架构部署

Nginx 结合PHP FastCGI 运行的原理图

  • 进入与退出mysql数据库方法
Linux LNMP架构部署

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

  • 扩展知识登录数据库命令简化方法
Linux LNMP架构部署

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

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

  • 设置mysql服务开机自启动
Linux LNMP架构部署

数据库基础操作——数据库框架

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; — 刷新权限

Linux LNMP架构部署

创建数据库

Linux LNMP架构部署

删除存在的数据库

Linux LNMP架构部署

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

Linux LNMP架构部署

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

Linux LNMP架构部署

查看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

Linux LNMP架构部署

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

  • libiconv软件安装—字符集转换库

cd /server/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

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

Linux LNMP架构部署

步骤就按照上面复制即可

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

Linux LNMP架构部署

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

Linux LNMP架构部署

将index.php放在最前方

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

Linux LNMP架构部署
  • 编写nginx到php连通性测试文件
Linux LNMP架构部署

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

  • 浏览器进行测试
Linux LNMP架构部署

测试成功

  • 让PHP与MySQL建立连接关系
Linux LNMP架构部署
Linux LNMP架构部署

本文编辑于2019年08月8日,属于云漫网络原创内容,由特约作者(云漫网络技术员)首发在win-man.com,云漫网络每日更新发布行业原创内容,转载请注明出处。否则属侵权行为一定追究责任。

本文转载于:http://win-man.com
本文关键词:linux  nginx  mysql  php
作者:云漫网络技术员

发表评论

电子邮件地址不会被公开。 必填项已用*标注