LAMP架构相关知识(一)
MYSQL5.7 安装操作参考:https://www.cnblogs.com/zero-gg/p/8875598.html
扩展知识:
mysql5.5源码编译安装 http://www.aminglinux.com/bbs/thread-1059-1-1.html
mysql5.7二进制包安装(变化较大) http://www.apelearn.com/bbs/thread-10105-1-1.html
apache dso https://yq.aliyun.com/articles/6298
apache apxs https://wizardforcel.gitbooks.io/apache-doc/content/51.html
apache工作模式 http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html
php中mysql,mysqli,mysqlnd,pdo到底是什么 http://blog.csdn.net/u013785951/article/details/60876816
查看编译参数 http://ask.apelearn.com/question/1295
1. LAMP 架构介绍:
LAMP含义:Linux+Apache(httpd)+Mysql+PHP 这几大平台的简写
httpd、PHP、MySQL 三者如何工作:
2.MySQL_MariaDB介绍
mysql 是关系型数据库。由mysql ab 公司开发,08年被SUN公司收购,09年SUN公司被oracle 公司收购。M
MySQL 官网https://www.mysql.com ;Mariadb 是Mysql的一个分支,官网 https://mariadb.com
MySQL 公司5.6 变化比较大,5.7性能上有很大提升。
Mariadb 5.5版本对应Mysql的5.5,10.0对应Mysql 5.6
Community 社区版本,enterprise 企业版,GA(Generally Available)指通用版本,在生成环境中用的,
DMR(Development Milestone Release)开发历程碑发布版,RC(Release Candidate)发行候选版本,Beta开放测试版本,
Alpha内部测试版本。本课程以MariaDB 居多。
3. MySQL安装(上)
Mysql 的几个常用安装包:rpm、源码、二进制免编译。
可以在 r.aminglinux.com 中去查看课程所用到的安装包。
1. 检查当前linux 系统版本 #uname -a
2. 进入默认的安装下载路径。 #cd /usr/local/src/
3. 在r.aminglinux.com 网站中找到系统对应的二进制编码包。然后进行下载:wget *** 回车
如果提示wget 没有安装,用yum install wget 命令安装。
(提示:安装wget的过程中,网络不通。请到后台启动VM NAT或VM DHCP服务)
4.安装过程如下:
5.下载完安装包之后,第一步首先要解压。提示,一定要在/usr/local/src/路径下操作。解压的办法:MYSQL 5.7的方法是:
tar xxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
6.解压完成之后,把解压的文件移动到 /usr/local/mysql 路径下。建立该目录,把解压好的文件包移动到该目录下:
mv mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql
7.添加系统用户 添加 mysql 组和 mysql 用户:
添加 mysql 组:[root@localhost ~]# groupadd mysql
添加 mysql 用户:[root@localhost ~]# useradd -r -g mysql mysql
扩展:
查看是否存在 mysql 组:[root@localhost ~]# more /etc/roup | grep mysql
查看 msyql 属于哪个组:[root@localhost ~]# groups mysql
查看当前活跃的用户列表:[root@localhost ~]# w
8.检查是否安装了 libaio
yum -y install liboio
9. 进入/usr/local/mysql 目录
cd /usr/local/mysql
10. 建立安装目录
mkdir -p /data/mysql
chown mysql /data/mysql
11.安装mysql
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
注意,这一步最后一行会有一个提示
[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg
最后面的字符串为root密码。
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
12. 拷贝配置文件和启动脚本
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf //编辑或者修改
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /tmp/mysql.sock
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld //编辑或者修改
basedir=/usr/local/mysql
datadir=/data/mysql
13. 启动服务
/etc/init.d/mysqld start
14.设置root密码
使用初始化密码登录
/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg' //进入后直接设置密码
mysql>set password = password('mypass'); //一定要设置一下新密码
退出来,再使用新的密码登录就可以了
还有一种情况,就是不知道初始化密码
vi /etc/my.cnf
在[mysqld]下面增加一行
skip-grant-tables
重启 /etc/init.d/mysqld restart
/usr/local/mysql/bin/mysql -uroot
mysql> update user set authentication_string=password('123333') where user='root';
退出来后,更改my.cnf,去掉刚加的 skip-grant-tables
重启 /etc/init.d/mysqld restart
此时就可以使用新的密码了。
提示:
老師,你最後改密碼的地方有點小問題,沒加上數據庫名,所以
修改後應該是 update mysql.user set authentication_string=password('123333') where user='root';
這樣修改,如果進mysql後操作數據庫時提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
則再執行SET PASSWORD = PASSWORD('123333');
就好。
4. MariaDB安装:安装步骤
安装的方法和步骤和mysql 类似。
5. 安装Apache 过程
下载安装包:
查看Apache都加载了哪些模块:
6. 安装PHP 过程
7. 安装PHP7 方法:
执行命令下载(php-7.2.3.tar.gz 中的 .tar.gz是打包并且压缩)
wget http://hk1.php.net/get/php-7.2.3.tar.gz/from/this/mirror
3、解压
tar -zxvf mirror
4、安装依赖包
第一步:
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc gcc++
第二步:
#创建local.conf
vi /etc/ld.so.conf.d/local.conf
#添加输入
/usr/local/lib
#添加搜索路径到配置文件
echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf
#然后 更新配置
ldconfig -v
第三步:
# 查看 yum 安装的 libzip 版本
yum list installed | grep libzip
#先删除旧版本
yum remove -y libzip
#下载编译安装
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
5、安装 FastCGI 进程管理器(FPM)
进入PHP目录
cd php-7.2.3/
编译(将PHP编译安装到 /usr/local/php目录下,带上上图的配置选项)(一下三种编译方式,推荐第三种)
./configure --prefix=/usr/local/php7 \--with-config-file-path=/usr/local/php7/etc \--with-config-file-scan-dir=/usr/local/php7/etc/php.d \--with-mcrypt=/usr/include \--enable-mysqlnd \--with-mysqli \--with-pdo-mysql \--enable-fpm \--with-fpm-user=nginx \--with-fpm-group=nginx \--with-gd \--with-iconv \--with-zlib \--enable-xml \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--enable-mbregex \--enable-mbstring \--enable-ftp \--enable-gd-native-ttf \--with-openssl \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-zip \--enable-soap \--without-pear \--with-gettext \--enable-session \--with-curl \--with-jpeg-dir \--with-freetype-dir \--enable-opcache
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache
./configure --prefix=/usr/local/php7 --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm
在php-7.2.3中执行make
make完成后执行make install
错误:
若内存较小,比如1G,可手动设置虚拟内存
编译安装时出现下面的错误:
virtual memory exhausted: Cannot allocate memory
问题原因:由于物理内存本身很小,且阿里云服务器并没有分配swap空间,当物理内存不够用时,
物理内存中暂时不用的内容没地方转存。
解决方法:手动分配一个swap空间
dd if=/dev/zero of=/swap bs=1024 count=1M #创建一个大小为1G的文件/swap
mkswap /swap #将/swap作为swap空间
swapon /swap #enable /swap file for paging and swapping
echo "/swap swap swap sw 0 0" >> /etc/fstab #Enable swap on boot, 开机后自动生效
6.编译安装完后进行参数配置
vim /etc/profile
方法一:
将 pathmunge /usr/local/php7/bin 加入到对应位置
要使改动立即生效执行
. /etc/profile 或 source /etc/profile
方法二:
在末尾加入
PATH=$PATH:/usr/local/php7/bin
export PATH
要使改动立即生效执行
. /etc/profile 或 source /etc/profile
查看环境变量
echo $PATH
可以在随便一个目录执行 php -v 来查看全局是否配置好
代表配置完成
7.配置php-fpm
cd /usr/local/php7/etc
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php7/etc/php-fpm.d
cp www.conf.default www.conf
启动php-fpm
/usr/local/php7/sbin/php-fpm
8.配置php.ini
查看php启动是否加载php.ini
php -i | grep Configuration
执行
cd ~
cd php-7.2.4
cp php.ini-development /usr/local/php7/etc/php.ini
再次查看
查看php启动是否加载php.ini
php -i | grep Configuration
8.Apache和PHP结合
LAMP架构相关知识(一)相关推荐
- 项目架构相关知识的个人简单理解(水平有限,勿喷)
(一)传统架构 一台Web应用服务器Tomcat并发量为400,如果当并发量为40000时,理论上需要100台: 同一个工程部署到多台服务器上就会存在两个问题: 问题1: 在Tomcat集群中节点数量 ...
- 【初学】部署架构相关的一些知识
部署架构相关的一些知识 集群 Nginx 分布式 热备 中间件 集群 集群,这里指服务器集群,是指多个服务器完成同样的功能,在客户端看来就只有一个服务器.起初系统比较简单的时侯,一个服务器足以完成所有 ...
- SpringCloud一、前提概述、相关微服务和微服务架构理论知识、微服务技术栈有哪些、
①前提概述.微服务架构springcloud的相关学习. 前提知识+相关说明 1.目前,我们学习到最后的微服务架构SpringCloud,基本上需要熟悉以前的学习内容和知识:springmvc.spr ...
- 大数据中物联网架构的相关知识
随着大数据越来越火,企业们都开始纷纷使用大数据来解决问题.在大数据的解决方案中,有一个十分典型的案例,那就是物联网.其实物联网现在早就不是什么新兴的概念了,物联网现在有很多的成品已经进入了我们的生活中 ...
- 第十八章 lamp架构
18.1 lamp简介 有了前面学习的知识的铺垫,今天可以来学习下第一个常用的web架构了. 所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Pytho ...
- IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略
IT:后端进阶技术路线图(初级→中级→高级).后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介.技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略 目录 后端 ...
- 多版本node安装相关知识
Windows下的多版本node安装 编写时间:2019-06-24 更新时间:2019-06-29 00:00 作者:鬼小妞 目的:本文旨在给小白 如何选择适用自身开发需求的node.js版本 (点 ...
- lamp架构(一台主机)
lamp 文章目录 lamp 1. lamp简介 2. web服务器工作流程 2.1 cgi与fastcgi 2.2 httpd与php结合的方式 较于CGI方式,FastCGI更为常用,很少有人使用 ...
- mysql日志的作用_MySQL 日志相关知识总结
数据库中用于存储数据的文件称为data file,日志文件称为log file.此外,如果每次读写都是直接访问磁盘,性能很差,所以数据库是有缓存的,数据缓存是data buffer,日志缓存log b ...
最新文章
- 安卓给string对象赋值_String 面试题!看完让你恍然大悟!
- mysqil操作数据库
- [转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。
- rango php,韩天峰(Rango)的博客
- 无法远程连接SQLSERVER2000的解决方法
- python——import日常学习记录
- 初见,Devexpress
- HFSS - GSM 900 和 DCS 1800 双频PIFA天线的设计与仿真
- CAD看图软件_CAD图纸管理软件
- [心得]最重要的事情只有一件!精华笔记
- 浅谈网络安全产品的分类
- 关闭Xshell系统提示音 Tab键 Backspace键
- 爬取智联招聘岗位描述并根据描述生成词云
- 我的Jdon安装第三步出错解决
- adb 工具源码修改
- 颜色转换公式大全及转换表格(31种)
- python函数名词解释_python的面向对象程序设计(名词解释及实例)
- PAT 乙级1032 挖掘机技术哪家强(C语言,含判断点解析)
- 凸函数高维性质证明(Jenson不等式)
- 雀巢近260款畅销产品集体亮相第三届进博会
热门文章
- uniapp项目上企业微信应用经历
- 弘辽科技:淘宝新店先补单还是先引流?
- (python3)kaggle上matplotlib显示不了中文(title是框,坐标也是框)完全解决.md
- html用div实例,使用DIV布局网站实例
- 两电平apf和三电平apf的区别
- 视频教程-一夫C4D教程Cinema4D R20零基础建模渲染动画入门教学课程-Cinema 4D
- css 全屏显示一张图片_css如何设置全屏背景图片
- 如何每天自动发送心灵鸡汤、正能量语录
- Redis缓存:大连学java培训学校
- QQ 可以注销,青春如何删除?