2020-10-21

it2023-05-18  122

LAMP环境搭建与配置

LAMP架构

linux+Apache(httpd)+mysql+PHPPHP网站(google、淘宝、百度)三个角色可以在一台机器、也可以分开(httpd和php要在一起)
安装MySQL
MySQL的几个常用安装包:rmp、源码、二进制免编译 cd /usr/local/src (软件包放在一起容易管理) 下载源码包最好在官网下载;其他网站下载可能被修改过。 [root@host src]#wget http://mirros.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@host src]# pwd /usr/local/src [root@host src]#ls mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@host src]#tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@host src]#mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql(移动位置) [root@host src]#cd /usr/local/mysql/ [root@host mysql]#useradd -s /sbin/nologin mysql(创建mysql用户) [root@host mysql]#mkdir -p /data/mysql(创建datadir,数据库文件放这里面) [root@host mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //--user表示定义数据库的用户的身份 //--datadir表示定义数据库的安装目录 //如有报错,安装yum install -y perl-Module-Install - 修改配置文件 # These are commonly set, remove the # and set as required. basedir = /usr/local/mysql //basedir表示MySQL包所在路径 datadir = /data/mysql //表示定义存放数据的位置 port = 3306 //port表示定义MySQL服务监听的端口号 server_id = 155 //表示该MySQL服务的ID号 socket = /tmp/mysql.sock //定义MySQL服务监听的套接字地址 [root@host mysql]#cp support-files/mysql-defaultcnf /etc/my.cnf [root@host mysql]#cp support-files/mysql.server /etc/init.d/mysql(复制脚本文件) [root@host mysql]#vi /etc/init.d/mysql(修改启动脚本) basedir=/usr/local/mysql datadir=/data/mysql [root@host mysql]#chkconfig --add mysql(把mysql服务添加到列表中) [root@host mysql]#chkconfig mysql on(开机就启动) Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'. . SUCCESS! //安装成功

如若出现这种情况就要安装yum -y install autoconf

安装Apache

Apache是一个基金会的名字,httpd才是我们主要安装的软件包,早期他的名字叫ApacheApache官网www.apache.org [root@host src]#ls apr-1.6.5.tar.gz mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1.tar.gz php-5.6.30.tar.gz httpd-2.4.46.tar.gz php-7.1.6.tar.bz2 //在官网下载源码包:httpd-2.4.39.tar,apr-1.6.5.tar,apr-util-1.6.1.tar [root@host src]#tar -zxvf apr-1.6.5.tar.gz [root@host src]#tar -zxvf apr-util-1.6.1.tar.gz [root@host src]#tar -zxvf httpd-2.4.46.tar.gz //解压压缩包 [root@host src]#cd /usr/local/src/apr-1.6.5 [root@host apr-1.6.5]#./configure --prefix=/usr/local/apr//如若这里出现报错安装libtool,yum install -y libtool* [root@host apr-1.6.5]#make && make install//如若这有错装expat-devel,yum install -y expat-devel [root@host mysql]#cd /usr/local/src/apr-util-1.6.1 [root@host apr-util-1.6.1]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ [root@host apr-util-1.6.1]#make && make install [root@host mysql]#cd /usr/local/src/httpd-2.4.46 [root@host httpd-2.4.46]#./configure --prefix=usr/local/apache2.4 //--prefix指定安装目录 --enable-so //--nable-so表示启用DSO --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all //表示以共享形式安装模块 --with-mpm=prefork [root@host src]#yum install -y pcre pcre-devel (为避免make时出错提前安装数据库文件) [root@host src]#make && make install [root@host apache2.4]#ls /usr/local/apache2.4/modules [root@host apache2.4]#/usr/local/apache2.4/bin/apachectl -M(查看配置文件有哪些文件)//share字样的动态共享模块,static以静态形式存在

安装PHP

PHP的官网:www.php.net

[root@host src]#pwd /usr/local/src [root@host src]ls apr-1.6.5 httpd-2.4.46.tar.gz apr-1.6.5.tar.gz mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1 php-5.6.30.tar.gz apr-util-1.6.1.tar.gz php-7.1.6.tar.bz2 httpd-2.4.46(下载源码包php-5.6.30) [root@host src]#tar -zxvf php-5.6.30.tar.gz [root@host src]#yum install -y bzip2 //安装压缩工具包 [root@host src]#tar -jxvf php-7.1.6.tar.bz2 [root@host src]#yum install -ylibxml2-devel/openssl openssl-devel/bzip2 bzip2-devel/libpng libpng-devel/freetype freetype-devel/epel-release/libmcrypt-devel [root@host src]#cd php-7.1.6 [root@host php-7.1.6]#./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-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 [root@host php-7.1.6]#make && make install //编译安装 [root@host php-7.1.6]#cd /usr/local/src/php-5.6.30 [root@host php-5.6.30]#/usr/local/apache2.4/bin/httpd -M //查看加载模块 [root@host php-5.6.30]#cp php.ini-production /usr/local/php/etc/php.ini [root@host php-5.6.30]#vi /usr/local/apache2.4/conf/httpd.conf //编辑httpd的主配置文件 <Directory /> AllowOverride none Require all denied </Directory> 改成: <Directory /> AllowOverride none Require all granted </Directory> //目的允许所有请求访问 <IfModule dir_module> DirectoryIndex index.html </IfModule> 改成: <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> LoadModule php5_module modules/libphp5.so注释掉,并改成 LoadModule php7_module modules/libphp7.so

测试配置文件是否正确

[root@host ~]#/usr/local/apache2.4/bin/apachectl -t //检查配置文件是正确 Syntax OK [root@host ~]#/usr/local/apache2.4/bin/apachectl start //启动http [root@host ~]#cd /usr/local/apache2.4/conf [root@host conf]#netstat -lnp |grep httpd //如若不行yum install net-tools tcp6 0 0 :::80 :::* [root@host conf]#curl localhost <html><body><h1>It works!<h1><body><html> //使用curl命令简单测试,显示了就是成功 [root@host conf]#vi /usr/local/apache2.4/htdocs/test.php <?php echo “php解析正确” ?> [root@host conf]#curl localhost/1.php php解析正确 //如显示此信息则PHP解析正确
最新回复(0)