源码编译安装LAMP

目录

一、apache服务安装

1、实现代码

2、检查安装是否成功 

二、MySQL安装

三、PHP安装

四、论坛安装

五、遇到的报错

六、LAMP

1、简介

2、组成部分

3、安装顺序

七、数据流向

八、总结


一、apache服务安装

1、实现代码

cd /opt/

tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

make -j 2 && make install

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd

chkconfig --add httpd

systemctl start httpd.service

vim /etc/init.d/httpd

源码编译安装LAMP_第1张图片

2、检查安装是否成功 

源码编译安装LAMP_第2张图片

如图则成功

二、MySQL安装

实现代码

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

useradd -s /sbin/nologin mysql

tar zxvf mysql-5.7.17.tar.gz -C /opt
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost

cd /opt/mysql-5.7.17/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

make && make install

useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

vim /etc/my.cnf

[client]                                    
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock    

[mysql]                                    
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash

[mysqld]
user = mysql 
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306    
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

cd /usr/local/mysql/bin/

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld.service

systemctl enable mysqld

netstat -anpt | grep 3306

mysqladmin -u root -p password "123456"

vim /etc/my.cnf 

源码编译安装LAMP_第3张图片

检查是否成功安装

输入命令进入MySQL界面

mysql -uroot -p

输入密码

源码编译安装LAMP_第4张图片

三、PHP安装

实现代码

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

cd /opt
tar zxvf php-7.1.24.tar.gz

cd /opt/php-7.1.24/

./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \

make && make install

cp /opt/php-7.1.24/php.ini-development /usr/local/php7/php.ini
vim /usr/local/php7/php.ini

ln -s /usr/local/php7/bin/* /usr/local/bin/
vim /etc/httpd.conf 

rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php

systemctl restart httpd.service

vim /usr/local/php7/php.ini

 vim /etc/httpd.conf

源码编译安装LAMP_第5张图片

 vim /usr/local/httpd/htdocs/index.php

源码编译安装LAMP_第6张图片

 连接到网页

源码编译安装LAMP_第7张图片

四、论坛安装

实现代码

mysql -u root -p 

CREATE DATABASE bbs;

GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

flush privileges; 
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

cd /opt/dis

cd dir_SC_UTF8/

cp -r upload/ /usr/local/httpd/htdocs/bbs

cd /usr/local/httpd/htdocs/bbs/

chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

源码编译安装LAMP_第8张图片

五、遇到的报错

1、使用tar zxvf httpd-2.4.29.tar.bz2解压时会报错,需要使用tar xf httpd-2.4.29.tar.bz2

报错代码:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

2、Apache无法访问个人网站页面

没有关防火墙

六、LAMP

1、简介

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境

LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言

2、组成部分

(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

(后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。

(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

3、安装顺序

在构建LAMP平台时,各组件的安装顺序依次为Apache,MySQL,PHP

七、数据流向

源码编译安装LAMP_第9张图片


1、当客户端请求的是静态资源时,web服务器会直接把静态资源返回客户端。

2、当客户端请求的是动态资源时,httpd的php模块会进行相应的动态资源运算,如果此过程还需要数据库的数据作为运算参数时,Php会连接mysql取得数据然后进行运算,运算的结果转为静态资源由web服务器返回到客户端

八、总结

LAMP架构作为目前成熟的企业网站应用模式之一,给我们提供了动态web站点服务及其应用开发环境。所以作为一名运维人员我们必须熟悉lamp的组成部分,系统的搭建,以及数据流向。

你可能感兴趣的:(apache,linux,运维,服务器,php)