黄金架构LAMP(编译安装)
作者:互联网
编译安装LAMD
前期准备
最好是新机器
暂停所有服务
[root@lamp-241 ~]# netstat -tnlp|grep httpd
[root@lamp-241 ~]# netstat -tnlp|grep php
[root@lamp-241 ~]# netstat -tnlp|grep mysql
关闭防火墙
[root@lamp-241 ~]# iptables -F
[root@lamp-241 ~]#
[root@lamp-241 ~]# systemctl stop firewalld
[root@lamp-241 ~]# systemctl disable firewalld
[root@lamp-241 ~]# setenforce 0 #关闭内置防火墙
关闭selinux
注意,关闭selinux,关闭firewalld,这是俩大坑 404 403 目录数据无法读写
[root@client-242 yum.repos.d]# grep -i 'selinux=' /etc/selinux/config
# SELINUX= can take one of these three values:
SELINUX=disabled
或者这条命令,临时的
[root@lamp-241 ~]# setenforce 0
下载所需要 依赖的软件支持
基础软件
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
依赖于操作系统本身的一些软件支持
yum groupinstall "Development tools" -y
桌面开发工具包
yum groupinstall "Desktop Platform Development" -y
底层编译库的安装
yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel -y
安装mysql
安装版本 mysql-5.6.31
安装目录 /usr/local/mysql
数据目录 /usr/local/mysql/data
端口号 3300
1、创建mysql用户
useradd -r -s /sbin/nologin mysql
2、在这个目录下下载的软件
/opt/my_lamp_bianyi/my_mysql
3、下载源码
wget -c https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz
4、解压缩
tar -zxf mysql-5.6.50.tar.gz
[root@Xafei my_mysql]# ls
mysql-5.6.50 mysql-5.6.50.tar.gz
5、看一下大小
[root@Xafei my_mysql]# du -sh *
284M mysql-5.6.50
31M mysql-5.6.50.tar.gz
6、加入目录
cd mysql-5.6.50
8、创建编译脚本,设置编译参数
[root@Xafei mysql-5.6.50]# vim cmake.sh
[root@Xafei mysql-5.6.50]# cat cmake.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ 安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据目录
-DENABLED_LOCAL_INFILE=1 \ 开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 将InnoDB存储引擎静态编译到服务器
-DMYSQL_TCP_PORT=3306 \ 端口
-DDEFAULT_CHARSET=utf8mb4 \ 字符集
-DDEFAULT_COLLATION=utf8mb4_general_ci \ 字符校验规则
-DWITH_EXTRA_CHARSETS=all \ 扩展字符集
-DMYSQL_USER=mysql 用户身份mysql
9、给cmake.sh添加权限
chmod +x cmake.sh
10、执行脚本
./cmake.sh
首先执行cmake这个命令,用于设置安装mysql的一些参数
后面就是cmake命令的各种参数,比如调整端口,安装目录,安装用户等
11、编译并安装
make && make install
12、修改mysql安装目录的权限属主属组
chown -R mysql.mysql /usr/local/mysql/
13、初始化数据库,生成可用的数据库文件
1)移除默认的mysql配置文件,改名即可
mv /etc/my.cnf /etc/my.cnf.ori
2)确保没有mysql进程
ps -ef|grep mysql
3)进入mysql安装目录,开始初始化看到两个ok后可以开始下一步
cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql
4)验证数据库目录里是否有文件
ll /usr/local/mysql/data
14、制作启动mysql脚本,系统提供好了模板
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
15、启动、检查mysql服务
service mysql status
service mysql start
service mysql status
16、设置mysql默认密码
/usr/local/mysql/bin/mysqladmin -uroot password 'yongfei123'
17、验证mysql登录
1)确保服务运行了
ps -ef|grep mysql
2)查看端口
netstat -tnlp|grep mysql
3)使用mysql登录命令
mysql -uroot -pyongfei123
4)需要配置环境变量,改为永久环境变量 /etc/profile
export PATH=/usr/local/mysql/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
5)检查变量,看是否加入
echo $PATH
[root@Xafei mysql]# echo $PATH
/usr/local/mysql/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
重新执行这个配置 source /etc/profile
6)执行命令登录
mysql -uroot -pyongfei123
安装apache
安装apache需要相应的依赖包apr
安装的apr包含三个依赖包(apr、apr-util、apr-iconv),都是独立开发的,还有自己的版本
官方地址 https://downloads.apache.org/apr/
要想apache运行php,一定是先下载apache,在安装php
安装apr
1、下载
wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2
2、解压缩
tar -xf apr-1.5.2.tar.bz2
3、修改配置configure
第29605行 RM='$RM -f'
4、配置
./configure
5、编译
make
6、安装
make install
安装apr-util
1、下载
wget -c https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2
2、解压缩
tar -xf apr-util-1.5.4.tar.bz2
3、开始编译安装apr-utils ,且需要指定安装的apr命令路径
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/bin/apr-1-config
4、编译安装
make && make install
ldconfig命令
一般来说,库文件安装到/lib,/lib64,/usr/lib/,/usr/lib64等,都可以找得到; 但是如果一个软件A把库文件安装到/usr/local/A/lib下,就要把这个路径加入到ldconfig命令可以找到的路径列表里面去,别人才能找到。
ldconfig是一个动态链接库管理命令;主要用途是在默认搜索目录(/lib,/lib64,/usr/lib/,/usr/lib64)以及动态库配置文件/etc/ld.so.conf中所列的目录中搜索出可共享的动态链接库。
有两种方法
1、在/etc/ld.so.conf这个主配置文件里加上一行,写上让别人要查找库文件的路径
echo "/usr/local/apr/lib/" >> /etc/ld.so.conf
[root@lamp-241 apr-util-1.5.4]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/apr/lib/
2、在/etc/ld.so.conf.d/目录下创建一个*.conf结尾的文件,里面加入该路径即可
# echo /usr/local/apr/lib/ > /etc/ld.so.conf.d/lamp.conf
# ldconfig 上面加入路径后,就使用此命令让其生效
编译安装httpd
链接
https://archive.apache.org/dist/httpd/
1、httpd源码下载
wget -c https://archive.apache.org/dist/httpd/httpd-2.4.37.tar.bz2
2、解压
tar -xf httpd-2.4.37.tar.bz2
3、进入
cd httpd-2.4.37
4、修改配置参数,可以做成脚本
[root@lamp-241 httpd-2.4.37]# cat apache-configure.sh
./configure \
--enable-modules=all \ 加载所有支持模块
--enable-mods-shared=all \ 共享方式加载大部分常用的模块
--enable-so \ 启动动态模块加载功能
--enable-rewrite \ 启用url地址重写功能
--with-pcre \ 支持正则表达式
--enable-ssl \ 编译ssl模块,支持https
--with-mpm=prefork \ 插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM
--with-apr=/usr/local/apr/bin/apr-1-config \ 指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config
(1)prefork
多进程模型,每个进程响应一个请求
(2)worker
多进程多线程模型,每个线程处理一个用户请求
(3)event(最优)
事件驱动模型,多进程模型,每个进程响应多个请求
5、添加执行权限,执行该脚本
[root@lamp-241 httpd-2.4.37]# chmod +x apache-configure.sh
[root@lamp-241 httpd-2.4.37]# ./apache-configure.sh
6、有可能会缺少一些依赖库
yum -y install pcre-devel
yum -y install openssl-devel
7、编译安装
[root@lamp-241 httpd-2.4.37]# pwd
/usr/local/source-code/httpd-2.4.37
make && make install
编译安装php
1、下载源码包
wget -c https://museum.php.net/php7/php-7.2.17.tar.xz
2、下载需要的依赖
yum install libxml2-devel -y
yum install libjpeg-devel -y
yum install libpng-devel -y
yum install freetype-devel -y
yum -y install libcurl-devel
3、解压
tar -xf php-7.2.17.tar.xz
4、进入目录
cd php-7.2.17
5、编辑一个脚本文件
vim configure_php.sh
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath
with-apxs2 调用apache加载模块支持PHP
gd 画图库
libiconv 字符变换转换
libmcrypt 字符加密
mcrypt 字符加密
mhash 哈希运算
6、加权限开始执行脚本
[root@lamp-241 php-7.2.17]# chmod +x configure_php.sh
[root@lamp-241 php-7.2.17]# ./configure_php.sh
7、编译且安装
make && make install
php与apache结合
1、修改apache配置文件,httpd.conf
vim /usr/local/apache2/conf/httpd.conf
配置语言支持
159 LoadModule negotiation_module modules/mod_negotiation.so
去掉至一行的注释
482 Include conf/extra/httpd-languages.conf
去掉注释,扩展配置文件生效
让apache支持php语言插件,让apache自动解析php程序
166 LoadModule php7_module modules/libphp7.so
找到这一行
在下面添加两行以.php结尾的文件php程序文件,.php前面有空格
166 LoadModule php7_module modules/libphp7.so
167 AddHandler php7-script .php
168 AddType text/html .php
默认的网站首页,添加为php的文件
263 #
264 # DirectoryIndex: sets the file that Apache will serve if a directory
265 # is requested.
266 #
267 <IfModule dir_module>
268 DirectoryIndex index.php index.html
269 </IfModule>
270
网站默认的首页html文件,存放的目录路径,由以下参数控制
230 # DocumentRoot: The directory out of which you will serve your
231 # documents. By default, all requests are taken from this directory, but
232 # symbolic links and aliases may be used to point to other locations.
233 #
234 DocumentRoot "/usr/local/apache2/htdocs"
235 <Directory "/usr/local/apache2/htdocs">
修改apache的域名,网站的域名,是需要买的
210 ServerName yuchao-lamp.cc
2、修改apache子配置文件,语言conf,优先中文
vim /usr/local/apache2/conf/extra/httpd-languages.conf
19 DefaultLanguage zh-CN
75 # Just list the languages in decreasing order of preference. We have
76 # more or less alphabetized them here. You probably want to change this.
77 #
78 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
测试是否结合
1、cd /usr/local/apache2/htdocs
2、在当前目录下创建一个php的脚本
vim index.php
<?php
phpinfo();
?>
3、启动apache
拷贝apache默认提供的一个脚本即可,就是启动apache的命令
cp /usr/local/apache2/bin/apachectl /etc/init.d/apache
查看端口,这时还未启动,netstat -tnlp|grep 80
启动 service apache start
再次查看端口,看是否运行 netstat -tnlp|grep 80
登录客户端测试
这时,就代表你已经部署好了LAMP(linux+apache+mysql+php)的服务器,就代表可以给测试运行代码了注意
部署wed应用
LAMP环境已经搭好,获取php源码即可,
这里推荐的是wordpress程序,一个博客网站
地址
https://cn.wordpress.org/
https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
1、下载源码
wget -c https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
2、解压
tar -zxf wordpress-4.7.3-zh_CN.tar.gz
3、创建一个存放wordpress代码的目录
mkdir -p /www/yongfei-blog
4、将解压后的文件全部拷贝到刚才创建的那个目录下
cp -a wordpress/* /www/yongfei-blog/
5、更改wordpress源码的属主属组 同为daemon
chown -R daemon.daemon /www/yongfei-blog/
6、给apache添加一个新配置文件,专门发布我们这个wordpress
vim /usr/local/apache2/conf/httpd.conf
492 # Virtual hosts
493 Include conf/extra/httpd-vhosts.conf
7、修改配置文件,添加关于wordpress的配置信息
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
注释掉该文件默认的虚拟机加入如下内容
<VirtualHost *:80>
DocumentRoot "/www/yongfei-blog"
ServerName yuchao-wordpress.cc
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
8、hosts文件修改,做好域名解析
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.241 yuchao-lamp.cc
192.168.0.241 yuchao-wordpress.cc
9、设置将内容存放的数据库中
登入数据库
[root@lamp-241 extra]# mysql -uroot -pyongfei123
创建储存博客的数据库yongfei_biog
mysql> create database yongfei_blog default charset utf8;
Query OK, 1 row affected (0.16 sec)
10、重启apache,
service apache restart
查看端口
netstat -tnlp|grep 80
如果是这种情况,需要配置apache的配置文件
vim /usr/local/apache2/conf/httpd.conf
Require all denied 这个是默认拒绝所有的给他打开Require all granted
第219行
212 #
213 # Deny access to the entirety of your server's filesystem. You must
214 # explicitly permit access to web content directories in other
215 # <Directory> blocks below.
216 #
217 <Directory />
218 AllowOverride none
219 Require all granted
220 </Directory>
然后就可以即可用客户端登录
部署商城系统
源码网址
https://www.aircheng.com/
商户后台管理
商家后台页面
前台界面
标签:架构,--,编译,LAMP,usr,mysql,apache,local,apr 来源: https://www.cnblogs.com/Xafei/p/16518982.html