加入收藏 | 设为首页 | 会员中心 | 我要投稿 上海站长网 (https://www.021zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Linux LNMP架构部署

发布时间:2022-10-14 04:01:04 所属栏目:PHP教程 来源:未知
导读: LNMP架构部署(linux、nginx、mysql、php)
系统优化 安全优化 (iptables关闭 selinux关闭 /tmp目录权限1777)

部署架构初始化状态
采用编译安装方式,安装nginx服务(请看之前的文章内容

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

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

部署架构初始化状态

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

部署MySQL数据库服务

部署PHP动态解析服务

部署MySQL服务

第一步:

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

第二步:安装MySQL数据服务

第一种:yum install –y MySQL*

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

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

下载MySQL二进制包:

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

创建数据库管理用户

让mysql用户管理 /application/mysql/

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

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

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

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

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

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

复制启动脚本

授权

至此,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启动程序全绝对路径设置一个环节变量

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

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

show databases;

create database keke;

drop database keke;

use mysql;

show tables;

select database();

select user();

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

select * from user\G;

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接口PHP超级全局变量,沿着固定的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

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

cd /server/tools

下载软件包:

wget

解压软件包:

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

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

make

make install

cd ../

进行编译前配置

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

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

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

测试成功

测试成功

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

(编辑:上海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!