LAMP环境搭建与配置
-
L 代表服务器操作系统使用Linux
-
A 代表 站服务使用的是Apache软件基金会中的httpd的模块
-
M 代表 站后台使用的数据库时MySQL数据库
-
P 代表 站是使用PHP语言开发
任务 1 安装 LAMP(Linux Apache Mysql Php),基础配置解析PHP
1.1 安装 MySQL
(1)下载源码包,建议提前下载到本地,在线安装很慢
#cd /usr/local/src //软件包都放在此目录方便管理 或者 自定义位置
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
//在线安装免编译二进制包,小磊是在 易开源镜像站下载的
(2)解压
# tar –zxvf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz –C /usr/local/src
(3)安装和配置
# useradd -s /sbin/nologin mysql
//建立 MySQL用户,因为启动 MySQL需要该用户
# mkdir -p /data/mysql
//创建 datadir,数据库文件会放到这里面
# chown -R mysql:mysql /data/mysql
//更改权限,不更改后续操作就会出问题
# yum install -y perl-Module-Install* //或者 perl*也OK
//安装perl包依赖
# cd /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64
//进入包对应目录
# yum install –y numactl
//软件包和系统版本问题,缺少以上脚本依赖,所以需安装numactl模块
# ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql
//成功以后,如果出现2个OK则表示运行成功
//–user表示定义数据库的以哪个用户的身份运
//–datadir表示定义数据库的安装目录
#cp support-file/my-default.cnf /etc/my.cnf → y覆盖
#vi /etc/my.cnf
//修改配置文件
#These are commonly set ,remove the # and set as required
Basedir=/usr/local/scr/mysql-5.6.47-linux-glibc2.12-x86_64 //basedir表示MySQL包所在路径
Datadir=/data/mysql/ //表示定义存放数据的位置
Port=3306 //port表示定义 MySQL服务监听的端口
Server_id=128 //表示该 MySQL服务的ID ,一般写成IP地址的第四节即可
socket = /tmp/mysql.sock //定义 MySQL服务监听的套接字地址
#cp support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld
# vim /etc/init.d/mysqld
basedir=/usr/local/scr/mysql-5.6.47-linux-glibc2.12-x86_64
datadir=/data/mysql/
#chkconfig –add mysqld
//把 mysql服务加到系统服务列表中
#chkconfig mysqld on
//开机自启
#service mysql start
//启动服务
(4)安装并启动成功
(5)查看服务,可通过以下所示命令查看mysqld服务:
[root@gongfang ~]# ps -ef | grep mysqld
root 10829 1 0 20:38 pts/1 00:00:00 /bin/sh /usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld_safe –datadir=/data/mysql –pid-file=/data/mysql/gongfang.pid
mysql 11006 10829 0 20:38 pts/1 00:00:03 /usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld –basedir=/usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64 –datadir=/data/mysql –plugin-dir=/usr/local/mysql/mysql-5.6.47-linux-glibc2.12-x86_64/lib/plugin –user=mysql –log-error=gongfang.err –pid-file=/data/mysql/gongfang.pid –socket=/tmp/mysql.sock –port=3306
root 11069 9847 0 21:42 pts/1 00:00:00 grep –color=auto mysqld
[root@gongfang ~]# netstat -ntplu | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 11006/mysqld
[root@gongfang ~]# service mysqld status
SUCCESS! MySQL running (11006)
(6)遇到的问题
解决方法:将my_pring_defaults文件复制到/usr/bin的执行路径下:
cp /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/bin/my_print_defaults /usr/bin/
再次启动,结果又出现新问题,不过大同小异:
解决方法:按照提示,将/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/mysqld_safe 复制到/usr/bin下:
cp /usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64/bin/mysqld_safe /usr/bin/
1.2 安装 Apache
(1)下载 httpd-2.4.43.tar、apr-1.6.5.tar和apr-util-1.6.1.tar
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.43.tar.gz
wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.5.tar.gz
wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
(2)解压
#tar -zxvf http-2.4.43.tar.gz -C /usr/local/src
#tar -zxvf apr-1.6.5.tar.gz -C /usr/local/src
#tar -zxvf apr-util-1.6.1.tar.gz -C /usr/local/src
(3)安装和配置
首先我们先来安装apr,这里apache的安装是由顺序之分的:
#cd /usr/local/src/apr-1.6.5
#yum install –y libtool*
#./configure –prefix=/usr/local/apr
#echo $nbsp; //查看有没有 错,如果是0则没有,输出上一次的结果
#make &&make install
#cd /usr/local/src/apr-util-1.6.1
接着,再安装apr-util:
#yum install -y expat-devel
#./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
#make &&make install
#cd /usr/local/src/http-2.4.39
#yum install –y pcre pcre-devel //安装正则表达库
编译解析configure文件:
#./configure //回车,反斜杠是脱义字符,加上它一行命令写成多行
–prefix=/usr/1ocal/apache2.4
–with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr-util
–enable-so
–enable-mods-shared=most
//–enable-so表示启用 DSO
//–enable -mods- shared表示以共享形式安装模块
最后来安装httpd:
#cd /usr/local/src
#cp -r apr-1.6.5 httpd-2.4.43/srclib/apr
#cp -r apr-util-1.6.1 httpd-2.4.43/srclib/apr-util
#cd httpd-2.4.43
#make -j4 && make install //-j4表示安装时候多加4个线程,提速
//若make时候出错,解决了依赖后,可先make clean,再重新编译
#./configure –prefix=/usr/local/apache2.4 –enable-so –with-pcre –with-included-apr
–enable-modules=most –enable-mpms-shared=all –with-mpm=prefork
然后再 make && make install
(4)安装成功
//查看配置文件有哪些文件
#/usr/local/apache2.4/bin/apachectl –M //查看加载的模块
//shared字样的动态共享模块,static以静态形式存在
1.3 安装 PHP
PHP官 www.php.net
(1)下载资源包 php-5.6.39.tar.bz2
(2)解压
#tar -jxvf php-5.6.39.tar.gz -C /usr/local/src/
(3)安装和配置
# yum install -y libxml2-devel
# yum install -y libpng libpng-devel
# yum install -y libmcrypt-devel //先可以yum list lib*列出
# yum install -y openssl openssl-devel
# yum install -y bzip2 bzip2-devel
# yum install -y freetype freetype-devel
# yum install -y epel-release //为防止配置时出错提前安装库文件
# cd/usr/local/php-5.6.39
./configure –prefix=/usr/local/php
–with-apxs2=/usr/local/apache2.4/bin/apxs
–with-config-file-path=/usr/local/php/etc
–with-mysql=/usr/local/src/mysql-5.6.47-linux-glibc2.12-x86_64
–with-png-dir –with-freetype-dir –with-openssl
–with-mcrypt –with-libxml-dir
–with-gd –with-jpeg-dir –with-bz2
–with-iconv-dir –with-zlib-dir
–enable-soap
–enable-gd-native-ttf
–enable-mbstring
–enable-sockets
–enable-exif
#make && make install
//编译安装
#/usr/local/apache2.4/bin/httpd –M
//若下面多了一条php5的模块,那就安装OK
同样可以查询php的相关信息:
#/usr/local/php/bin/php –i | less
#cat /usr/local/apache2.4/conf/httpd.conf
可以看到,已经自动写入到配置文件中
拷贝配置文件用于生产环境:
#cd /usr/local/php-5.6.39
#cp php.ini-production /usr/local/php/etc/php.ini
//php.ini-development:用于开发环境 php.ini.production:用于生产环境
(4)遇到的问题
(5)解决方法:
yum install –y libmcrypt libmcrypt-devel //安装依赖库
1.4 httpd解析 PHP
#vim /usr/local/apache2.4/conf/httpd.conf //apache主配置文件
1.搜索 ServerName,把 ServerName www.example.com:80前的#去掉;
2.搜索Require,将denied改为granted;
AllowOverride none
Require all denied
改成:
AllowOverride none
Require all granted
//目的允许所有请求访问
3.搜索 AddType application/x-gzip .gz .tgz,在下面添加一行 AddType application/x-httpd-php .php
4.搜索IfModule dir_module
DirectoryIndex index.html
改成:
DirectoryIndex index.html index.php
(4)测试安装
①测试配置文件是否正确
#/usr/local/apache2.4/bin/apachectl -t
//检验配置文件是否正确:Syntax OK
#/usr/local/apache2.4/bin/apachectl start(graceful:重启)
//启动apache服务。若重启不成功,先kill -9杀死httpd相关进程
#netstat -ntplu |grep httpd
//查看是否启动
#curl localhost
It works!
//使用 curl命令简单测试,,显示了就是成功,也可以本地浏览器测试,修改本地hosts文件
②测试是否正确解析PHP
#vim /usr/local/apache2.4/htdocs/index.php
echo“php解析正确”
//编写一个测试脚本
#curl localhost/index.php
php解析正确
//如显示此信息则 PHP解析正确
(5)安装并解析成功
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器编排(生产环境 k8s)kubelet,kubectl,kubeadm三件套8794 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!