17 LAMP(上)

1. LAMP包含:Linux+Apache(httpd)+MySQl+PHP

Linux : 操作系统(centos)
Apache:httpd——外部服务软件
MySQl:存储数据软件(字符串)
PHP : 脚本语言(以作网站为主)

2. Apache(httpd) , MySQl , PHP 这三个角色可以安装在同一台机器上,也可以分开使用。(注意:httpd 和 PHP 要在一起)
 

11.3-11.5 MySQL安装(上中下)


/usr:重要目录,类似于windows的Program Files,存放应用程序

[root@hostname ~]#  yum install  -y wget #安装下载工具
[root@hostname ~]# cd /usr/local/src/     #1. 进入下载安装包目录
[root@hostname src]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz   #2. 下载mysql安装包
[root@hostname src]# tar zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz   #3. 解包解压mysql包
[root@hostname src]# mv mysql-5.6.39-linux-glibc2.12-x86_64  /usr/local/mysql  #4. mysql包移动到/usr/local/目录下,并重命名mysql目录
[root@hostname src]# cd /usr/local/mysql  #5. 进入mysql目录下
[root@hostname mysql]#
 useradd -s /sbin/nologin mysql #6. 创建mysql用户
[root@hostname mysql]# mkdir -p /data/mysql #7. 根目录下,创建data目录
[root@hostname mysql]# chown -R mysql:mysql /data/mysql  #创建用户和用户目录
[root@hostname mysql]# yum install -y perl-Data-Dumper  #8. 安装依赖包
[root@hostname
 mysql]# yum install -y libaio 
[root@hostname mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  #9. 编译:指定用户为mysql,指定数据库目录为/data/mysql
[root@hostname mysql]# echo $?  #10. 检验上一条命令执行是否有错?(数值0为没问题)
[root@hostname mysql]# vim /etc/my.cnf #11. 编辑my.cnf配置文件
更改内容:

datadir=/data/mysql
socket=/tmp/mysql.sock
图片中三行用#号暂时注释掉!!!

[root@hostname mysql]# cp support-files/mysql.server /etc/init.d/mysqld #12. 启动脚本:拷贝mysql.server文件,并改名mysqld:[root@hostname mysql]# vim /etc/init.d/mysqld #13. 编辑mysqld

更改内容:

basedir=/usr/local/mysql
datadir=/data/mysql

[root@hostname mysql]# chkconfig --add mysqld  #14. mysqld服务加入到服务列表里面
[root@hostname mysql]#
 chkconfig mysqld on  #设置mysqld服务加入开机启动项
[root@hostname mysql]# 
service mysqld start 15. 启动mysqld服务:
[root@hao-001 mysql]# 
mkdir /var/log/mariadb/ #如果启动不了,报这个日志没有,就创建日志!
[root@hao-001 mysql]# 
touch /var/log/mariadb/mariadb.log
[root@hostname mysql]# ps aux |grep mysql #16. 搜索mysql进程,查看是否启动?
[root@hostname mysql]#
 netstat -lntp  #17. 查看mysql对应的端口号(3306)
[root@hostname mysql]# 
service mysqld stop  #18. 关闭mysqld服务:
[root@hostname mysql]# 
/usr/local/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &  #19. 启动mysqld服务(命令行模式):
[root@hostname mysql]# 
killall mysqld  #20. 关闭mysqld服务(命令行模式):安装 killall命令: yum install -y psmisc

 

msyql环境变量
[root@hostname ~]# ln -s /usr/local/mysql/bin/mysql  /usr/bin #如果执行找不到mysql -uroot命令,执行此命令:
或:
[root@hostname ~]# alias 'mysql=/usr/local/mysql/bin/mysql'
[root@hostname ~]# alias 'mysqldump=/usr/local/mysql/bin/mysqldump'
或:关闭启动再试试

11.6 安装mariadb

[root@hao-01 ~]# cd /usr/local/src //1. 进入下载安装包目录:
[root@hao-01 src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz //2.下载mariadb安装包:
[root@hao-01 src]# tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz //3. 解包解压mariadb包:
[root@hao-01 src]# mv mariadb-10.2.6-linux-glibc_214-x86_64  /usr/local/mariadb //4. 移动解压过的包,并且改名(mariadb):
[root@hao-01 src]# cd /usr/local/mariadb //5. 进入mariadb目录下: 
[root@hao-01 mariadb]# ./scripts/mysql_install_db --user=mysql   --datadir=/data/mariadb //6. 编译:指定用户为mysql 指定数据库目录为/data/mariadb:
[root@hao-01 mariadb]# echo $? //7. 检验上一条命令执行是否有错?(数值0为没问题):
[root@hao-01 mariadb]# cp /usr/local/mariadb/support-files/my-small.cnf  /usr/local/mariadb/my.cnf //8. 拷贝配置文件,并重命名(my.cnf):
[root@hao-01 mariadb]# vim /usr/local/mariadb/my.cnf //9. 编辑配置文件(my.cnf):

添加内容(这种情况在和mysql同时存在时候需指定):
datadir = /data/mariadb

91dad519878e79613bdf85d2b99ee0d.png

[root@hao-01 mariadb]# cp /usr/local/mariadb/support-files/mysql.server  /etc/init.d/mariadb //10. 拷贝启动脚本,并重命名(mariadb):
[root@hao-01 mariadb]# vim /etc/init.d/mariadb //11. 编辑启动脚本(mariadb):

编辑内容:
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf

clipboard.png

下面启动脚本行,添加一条启动参数(如下图位置):
--defaults-file="$conf"

clipboard.png

[root@hao-001 mariadb]# killall mysqld //12. 关闭mysqld服务(注:启动mariadb,需要关闭mysqld,这两个服务 是同一个端口):
[root@hao-01 mariadb]# /etc/init.d/mariadb start //13. 开启mariadb服务:
[root@hao-01 mariadb]# ps aux |grep mariadb //14. 搜索mariadb进程,查看是否启动?

clipboard.png

[root@hao-01 mariadb]# netstat -lntp //15. 查看端口号(mariadb默认监听3306端口)

11.7—11.9 Apache安装(上中下)

Apache是一个基金会的名字,httpd才是我们要安装的软件包(早期它的名字就叫apache) •Apache官网www.apache.org

[root@hao-01 ~]# cd /usr/local/src/ //1. 进入下载安装包目录:
2. 下载httpd包,apr包和apr-util包(链接失效可以找我要包,扣扣1071599947):
[root@hao-01 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.27.tar.gz
[root@hao-01 src]# wget http://mirrors.hust.edu.cn/apache/apr/apr-1.5.2.tar.gz
[root@hao-01 src]# wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.gz

clipboard.png

[root@hao-01 src]# tar zxvf httpd-2.4.27.tar.gz //4. 解包解压 httpd包,apr包和apr-util包:
[root@hao-01 src]# tar zxvf  apr-util-1.5.4.tar.gz
[root@hao-01 src]# tar zxvf  apr-1.5.2.tar.gz
[root@hao-01 src]# cd /usr/local/src/apr-1.5.2/ //5. 进入 apr 解压目录:
[root@hao-01 apr-1.5.2]# ./configure --prefix=/usr/local/apr //6. 编译:指定存储目录(自动生成apr):(安装依赖包:yum -y install gcc)
[root@hao-01 apr-1.5.2]# echo $? //7. 检验上一条命令执行是否有错?(数值0为没问题):
[root@hao-01 apr-1.5.2]# make && make install //8. make和make install :
[root@hao-001 apr-1.5.2]# ls /usr/local/apr //9. 查看make后,自动生成的目录/文件 :

clipboard.png

[root@hao-001 apr-1.5.2]# cd /usr/local/src/apr-util-1.5.4  //10. 进入apr-util 解压目录:
[root@hao-01 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr //11. 编译:指定存储目录(自动生成apr-util):
[root@hao-01 apr-util-1.5.4]# echo $? //12. 检验上一条命令执行是否有错?(数值0为没问题):
apr-util 执行make命令时报错,安装依赖包 : yum install -y expat-devel
[root@hao-01 apr-util-1.5.4]# make && make install //13. make和make install :
[root@hao-01 apr-util-1.5.4]#  ls /usr/local/apr-util/ //14. 查看make后,自动生成的目录/文件 :

clipboard.png

[root@hao-01 apr-util-1.5.4]# cd /usr/local/src/httpd-2.4.27/ //15. 进入httpd 解压目录:
报错,依赖包:yum install -y pcre-devel
[root@hao-01 httpd-2.4.27]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most  //16. 指定存储目录(自动生成apache2.4):
[root@hao-01 httpd-2.4.27]# echo $?  //17. 检验上一条命令执行是否有错?(数值0为没问题):
[root@hao-01 httpd-2.4.27]# make && make install //18. make和make install :
[root@hao-001 httpd-2.4.27]# ls /usr/local/apache2.4/ //19. 查看make后,自动生成的目录/文件 :

clipboard.png

bin目录下:可执行文件
conf目录下:配置文件
hodocs目录下:访问页,访问的网站默认会放在这里。
logs目录下:日志相关文件(错误日志,访问日志)
man目录下:帮助文档
modules目录下:扩展模块

[root@hao-001 httpd-2.4.27]# /usr/local/apache2.4/bin/httpd  -M  //20. 查看apache加载的模块:
或:[root@hao-001 httpd-2.4.27]# /usr/local/apache2.4/bin/apachectl  -M
[root@hao-001 httpd-2.4.27]# /usr/local/apache2.4/bin/apachectl start  //21. 启动 apache2.4(httpd):

clipboard.png

[root@hao-001 httpd-2.4.27]# ps aux |grep httpd //22. 搜索 httpd进程,查看是否启动?
[root@hao-001 httpd-2.4.27]# netstat -lntp //23. 查看端口号(httpd默认监听80端口):

clipboard.png

11.10-11.12安装PHP5(上中下)

[root@hao-01 ~]# cd /usr/local/src //1. 进入下载安装包目录:
[root@hao-01 src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz //2. 下载php-5.6.30版本安装包:
[root@hao-01 src]# tar zxvf php-5.6.30.tar.gz //3. 解包解压php安装包:
[root@hao-01 src]# cd php-5.6.30 //4. 进入php目录下:
[root@hao-01 php-5.6.30]# ./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/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif   //5. 编译php(报错要依照下面依赖包对应安装):

配置详解:
--prefix=/usr/local/php(指定安装目录)
--with-apxs2=/usr/local/apache2.4/bin/apxs(工具作用:自动配置apache/httpd扩展模块)
--with-config-file-path=/usr/local/php/etc(指定配置文件所在路径)
--with-mysql=/usr/local/mysql(指定mysql库)
--with-pdo-mysql=/usr/local/mysql(指定pdo-mysql库)
--with-mysqli=/usr/local/mysql/bin/mysql_config(指定mysqli库)
其余的是指定php需要的模块。

[root@hao-01 mariadb]# echo $? //6. 检验上一条命令执行是否有错?(数值0为没问题):
[root@hao-01 php-5.6.30]# yum install -y libxml2-devel //7. 安装依赖包:(编译php需要以下依赖包,编译后如图错误:安装对应依赖包后,再次编译!)

clipboard.png

[root@hao-01 php-5.6.30]# yum install -y openssl-devel

clipboard.png

[root@hao-01 php-5.6.30]# yum install -y bzip2-devel

clipboard.png

[root@hao-01 php-5.6.30]# yum install -y libjpeg-devel

clipboard.png

[root@hao-01 php-5.6.30]# yum install -y libpng-devel

clipboard.png

 [root@hao-01 php-5.6.30]# yum install -y freetype-devel

clipboard.png

[root@hao-01 php-5.6.30]# yum install -y epel-release && yum install -y libmcrypt-devel

clipboard.png

8. 编译php(需要安装以上依赖包):

[root@hao-01 php-5.6.30]# ./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/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

clipboard.png

[root@hao-01 php-5.6.30]# make //9. 执行 make :
[root@hao-01 php-5.6.30]# make install //10. 执行 make install :
[root@hao-01 php-5.6.30]# cp php.ini-production  /usr/local/php/etc/php.ini //11. 拷贝当前目录下的配置文件(php.ini-production) ,到php目录下并重命名 :

11.13 安装PHP7

[root@hao-01 ~]# cd /usr/local/src //1. 进入下载安装包目录:
[root@hao-01 src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2 //2. 下载php-7.1.6版本安装包:
[root@hao-01 src]# tar jxf php-7.1.6.tar.bz2 //3. 解包解压php安装包:(安装bzip2安装工具:yum install -y bzip2)
[root@hao-01 src]# cd php-7.1.6 //4. 进入php目录下:
[root@hao-01 src]# ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif //5. 编译php:(5版本安装了编译需要的依赖包,7版本这里直接编译就可以)

clipboard.png

[root@hao-01 php-7.1.6]# make //6. 执行 make :
[root@hao-01 php-7.1.6]# make install //7. 执行 make install :
[root@hao-01 php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf //注意:禁掉不使用php7版本 8. 安装了php5和php7,使用5或7版本需要更改配置文件,注释其中一行 :不用哪个版本的php,就在对应行前 添加#,注释掉这行!!!

clipboard.png

11.14 -11.15Apache和PHP结合(上下)

1. Windows系统上,打开:Telnet 客户端

clipboard.png

勾选:Telnet 客户端

clipboard.png

2. 在Windows上,检查Linux服务器ip的80端口是否打开 ?
C:\Users\VULCAN>telnet 192.168.223.128 80

clipboard.png

3. Linux服务器上打开80端口(必须是httpd已启动) :
[root@hao-001 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
(关闭80端口:iptables -D INPUT -p tcp --dport 80 -j ACCEPT )

4. 再次在Windows上,检查Linux服务器ip的80端口是否打开 ?
C:\Users\VULCAN>telnet 192.168.223.128 80
Telnet协议是TCP/IP协议族的其中之一,是Internet远端登录服务的标准协议和主要方式,常用于网页服务器的远端控制,可供使用者在本地主机执行远端主机上的工作。使用者首先在电脑执行Telnet程序,连线至目的地服务器,然后输入帐号和密码以验证身份。使用者可以在本地主机输入命令,然后让已连接的远端主机执行,就像直接在对方的控制台上输入一样。传统Telnet会话所传输的资料并未加密,帐号和密码等敏感资料容易会被窃听,因此很多服务器都会封锁Telnet服务,改用更安全的SSH。

快捷键组合退出: Ctrl 跟 ]

clipboard.png

5. Windows游览器中,打开Linux服务器ip(如下图):

clipboard.png

6. 修改apache2.4(httpd)配置文件 :
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/httpd.conf
更改内容1:Require all granted //允许所有请求访问资源

clipboard.png

添加内容2:
DirectoryIndex index.html index.php

clipboard.png

添加内容3:
AddType application/x-httpd-php .php

clipboard.png

添加内容4(此规则可以避免重新加载配置文件报安全提示):
ServerName  localhost:80

clipboard.png

7. 检查配置文件语法是否正确无误 ?
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -t

clipboard.png

8. 重新加载配置文件(不会重启服务)
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl graceful

9. 添加一个实验脚本 1.php :
[root@hao-001 ~]# vi /usr/local/apache2.4/htdocs/1.php

添加内容:

<?php
phpinfo();
?>

10. 在Windows游览器,输入Linux服务器 ip/1.php :

clipboard.png

11. 如果在Windows游览器,解析不出Linux服务器 ip/1.php :
A. 先检查php模块是否加载 :
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl  -M //(在最下面可以看到)

clipboard.png

B. 再检查libphp5.so文件是否存在?
[root@hao-001 ~]# ls /usr/local/apache2.4/modules/libphp5.so

clipboard.png

C. 再检查(httpd.conf)配置文件中,下图三行是否有添加?
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/httpd.conf

查看下图红框中是否添加:modules/libphp5.so

clipboard.png

查看下图红框中是否添加:index.php

clipboard.png

查看下图红框中是否添加:AddType application/x-httpd-php .php

clipboard.png

12. 安装了php5版本和7版本,访问Linux服务器 ip/1.php 解析出的是5版本;此时,把5版本对应行在配置文件中注释掉,打开7版本对应行 :[root@hao-001 php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf

clipboard.png

13. 检查配置文件语法是否正确无误 ?
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -t

14. 重新加载配置文件(不会重启服务)
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl graceful

15. 在Windows游览器中,输入Linux服务器 ip/1.php :

clipboard.png

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值