LAMP的架构
文章目录一、Apache网站服务1.1 Apache简介1.2 编译安装Apache服务的优点1.3httpd服务的目录结构1.4 编译安装httpd服务器二、MySQL的编译安装2.1 MySQL简介2.2 MySQL编译安装三、PHP源码编译安装3.1 PHP简介3.2 PHP编译安装一、Apache网站服务1.1 Apache简介主要特点开放源代码、跨平台应用支持多种网页编程语言模块化设计、
文章目录
一、Apache网站服务
1.1 Apache简介
- 主要特点
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性 - 软件版本
1.X
目前最高版本是1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能
2.X
目前最高版本是2.4
具有更多的功能特性
与1.X相比,配置管理风格存在较大差异
1.2 编译安装Apache服务的优点
-
编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用 -
获得Apache服务器的源码包
参考地址: htp://ttpd.apache.org/download.cg
1.3 httpd服务的目录结构
- 服务目录: /usr/local/httpd/
- 主配置文件: /usr/local/httpd/conf/httpd.conf
- 网页目录: /usr/local/httpd/htdocs/
- 服务脚本: /usr/local/httpd/bin/apachectl
- 执行程序: /usr/local/httpd/bin/httpd
- 访问日志: /usr/localhttpd/log/access_ log
- 错误日志: /usr/localhttpd/log/error_ log
1.4 编译安装httpd服务器
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf 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
configure配置
[root@localhost httpd]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \ #指定路径
> --enable-so \ #开启核心功能模块
> --enable-rewrite \ #开启重写功能,如防盗链保护
> --enable-charset-lite \ #开启字符集
> --enable-cgi #开启通用网关接口
编译安装
make && make install
创建配置文件的软连接
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
#创建httpd.conf配置文件的软链接到/etc下面
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
#将httpd的命令文件创建软链接到/usr/local/bin下
关闭防火墙
[root@localhost httpd-2.4.29]# setenforce 0
[root@localhost httpd-2.4.29]# httpd -t
Syntax OK #此时可以使用相关命令
[root@localhost httpd-2.4.29]# apachectl -t
Syntax OK
开启服务
[root@localhost httpd-2.4.29]# service httpd start
此时网站可用。
二、MySQL的编译安装
2.1 MySQL简介
-
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
-
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
-
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
2.2 MySQL编译安装
软件包安装及压缩包的解压缩
yum -y install ncurses ncurses-devel bison cmake
useradd -s /sbin/nologin mysql
tar zxvf mysql-boost-5.7.20.tar.gz
cd mysql-5.7.20/
cmake的配置
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_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=boost \
-DWITH_SYSTEMD=1
编译安装(安装时间较长,需耐心等待)
make && make install
mysql的配置
chown -R mysql.mysql /usr/local/mysql/
vi /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
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server = utf8
socket = /usr/local/mysql/mysql.sock
pid-file = /usr/local/mysql/mysql.pid
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
chown mysql.mysql /etc/my.cnf
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
echo $PATH
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr /local/mysql/data
cd /usr/local/mysql/
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl start mysqld.service
netstat -anptu | grep mysqld
systemctl enable mysqld.service
mysql密码设置的方式
mysqladmin -u root -p password ‘123456’ ## 用于开始为空密码设置
[root@server1 ~]# mysql -uroot -pabc123 ## 进去进行密码修改
修改密码为123123
set password for root@localhost = password('123123');
在外面进行密码的修改
[root@server1 ~]# mysqladmin -uroot -p123123 password 'abc123'
进行登录验证,密码abc123
[root@server1 ~]# mysql -uroot -pabc123
进入mysql进行密码的修改
mysql> use mysql;
mysql> update mysql.user set authentication_string = password('abcabc') where user='root' and host='localhost';
设置密码改为abcabc
mysql> flush privileges;
mysql> exit
登录验证密码abcabc
[root@server1 ~]# mysql -uroot -pabcabc
忘记密码或者设置无密登录
[root@server1 ~]# vi /etc/my.cnf
skip_name_resolve
skip_grant_tables
bind-address=0.0.0.0
[root@server1 ~]# systemctl restart mysqld
[root@server1 ~]# mysql
无密登录后可进行密码的修改,以达到取回密码的效果。
三、PHP源码编译安装
3.1 PHP简介
-
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域
-
PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统
3.2 PHP编译安装
相关软件包的安装
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
软件包的解压
tar jxvf php-7.1.10.tar.bz2
configure配置
cd php-7.1.10/
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--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 \
--enable-zip
编译安装
make && make install
配置文件
cp php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date. timezone = Asia/Shanghai
查询php是否安装
/usr/local/php/bin/php -m
vi /etc/httpd.conf
/php ## 查看是否显示php,证明是否安装了php模块
AddType application/x-httpd-php .php ## 在配置文件中添加这些配置
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index. html
rm -f /usr/local/httpd/htdocs/index.html
vi /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
service httpd restart
[root@server1 ~]# mysql -uroot -p123456
mysql> create database myadm; 创建一个数据库
mysql> grant all privileges on myadm.* to 'myadm'@'localhost' identified by 'admin123' 本地授权
mysql> grant all privileges on myadm.* to 'myadm'@'%' identified by 'admin123'; 远程授权
mysql> flush privileges; 刷新
mysql> exit
最终的效果图
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)