源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包)。
开源,能看到代码并且可以按自己所需修改源代码
安装时要先在自己系统上编译再安装,所以更适合自己的系统,运行效率更高
需要编译所以比二进制包安装时间要长
编译安装过程中一旦报错新手难以解决
- 官网下载源码包
- 解压缩
- 进入解压后的目录 执行命令
- “./config”,用于检测系统环境是否符合安装要求,此步骤会生成Makefile文件,里边写入了检测结果和一些定义好的功能选项。
- make 编译
- make clean (如果上两步执行出错了可以执行make
clean,用于清空Makefile文件或编译产生的“.o”头文件)- make install
【图片转载】https://blog.csdn.net/w00347190/article/details/100770984
cd /opt/Apache
tar xf apr-1.6.2.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-1.6.2/
./configure --prefix=/usr/local/apr && make && make install
cd /opt/Apache
tar xf apr-util-1.6.0.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-util-1.6.0/
./configure --prefix=/usr/local/apr-util –with-apr=/usr/local/apr/bin/apr-1-config && make && make install
cd /opt/Apache
tar xf pcre-8.41.tar.gz -C /usr/local/src/
cd /usr/local/src/pcre-8.41/
./configure --prefix=/usr/local/pcre && make && make install
cd /opt/Apache
tar zxf httpd-2.4.37.tar.gz -C /usr/local/src/
cd /usr/local/src/httpd-2.4.37/
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=event &&make && make install
选项说明:
–prefix=/usr/local/apache #安装路径
–enable-so #支持动态加载模块
–enable-rewrite #支持网站地址重写
–enable-ssl #支持 SSL 加密
–with-pcre=/usr/local/pcre #pcre 路径
–with-apr=/usr/local/apr #apr 路径
make install
#(1)配置文件
/usr/local/apache/conf/httpd.conf
#(2)网站根目录
/usr/local/apache/htdocs/index.html ##可以修改网页内容
#(3)生成启动脚本
cp /usr/local/apache/bin/apachectl /etc/init.d/
chmod +x /etc/init.d/apachectl
#(4)写个 apache 系统服务脚本,754 权限保存
vim /usr/lib/systemd/system/apache.service
chmod 745 /usr/lib/systemd/system/apache.service
#(5)启动服务
systemctl enable apache
systemctl start apache.service
#(6)修改 Apache 的运行用户
useradd -M -s /sbin/nologin apache #用该用户运行 Apache
vim /usr/local/apache/conf/httpd.conf #修改配置文件改变Apache运行身份
#(7)更改目录权限
chown -R apache:apache /usr/local/apache/
systemctl restart apache
vim /usr/local/apache/htdocs/index.html
在浏览器输入自己虚拟机 IP 地址:192.168.0.107
yum -y remove boost-*
yum -y remove mysql mariadb-*
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql
cd /opt/Mysql
tar xf boost_1_59_0.tar.gz -C /usr/local/src/
tar xf mysql-5.7.19.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.7.19
安装目录:/var/lib/mysql
数据目录:/var/lib/mysql/data
mkdir -p /var/lib/mysql/data
chown -R mysql:mysql /var/lib/mysql
cmake -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \
-DMYSQL_DATADIR=/var/lib/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_59_0
参数注释:
DCMAKE_INSTALL_PREFIX:指定 MySQL 程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认 latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认 latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行 LOAD DATA INFILE,默认 OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到 mysql存储引擎,MyISAM
grep processor /proc/cpuinfo | wc -l #查看服务器 CPU 核心数
make -j 2
#注:-j 用来指定 CPU 核心数,可加快编译速度。例如:想使用 2 核来进行编译,则在-j 后加 2,可以提高编译速度,当然你要确定你的虚拟机CPU 多少核心
make install
vim /etc/my.cnf
[mysqld]
basedir=/var/lib/mysql
datadir=/var/lib/mysql/data
port=3306
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sock
vim /etc/profile.d/mysql.sh
export PATH=/var/lib/mysql/bin:$PATH
. /etc/profile.d/mysql.sh
cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chown -R mysql:mysql /var/lib/mysql
/var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --
basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
/etc/init.d/mysqld start
如果启动失败,报错:
Starting MySQL… ERROR! The server quit without updating PID file
(/tmp/mysqld.pid)
解决方法:
把数据目录删除,重新初始化:
cd /var/lib/mysql/data/
rm -rf ./*
/var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --
basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
启动
/etc/init.d/mysqld start
Starting MySQL. SUCCESS!
mysql_secure_installation
MySQL5.7 提供了三种密码策略,可以根据需要设置复杂度不同的密码,输入两次密码,然后一直 Y 下去直至完成
mysql -u root -p ## 密码填上一步初始化设置的密码
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
mysql> exit
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum clean all
yum list
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf
freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-
devel zlib curl curl-devel re2c php-pear
cd /opt/PHP
tar xf php-7.1.24.tar.gz -C /usr/local/src
cd /usr/local/src/php-7.1.24/
./configure --prefix=/usr/local/php/ \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-mbstring \
--with-curl \
--with-gd \
--enable-fpm \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/usr/local/php/etc/ \
--with-mysqli=mysqlnd \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--enable-maintainer-zts
PHP配置选项中文手册 http://php.net/manual/zh/configure.about.php
参数注释:
–with-apxs2 #将 php 编译为 Apache 的一个模块进行使用
–enable-mbstring #多字节字符串的支持
–with-curl #支持 cURL
–with-gd #支持 gd 库
–enable-fpm #支持构建 fpm
–enable-mysqlnd #启用 mysqlnd
–with-pdo-mysql #支持 pdo:MySQL 支持
–with-config-file-path #设置配置文件路径
–with-mysqli #支持 MySQLi
–with-mysql-sock #关联 mysql 的 socket 文件
–enable-maintainer-zts #如果 Apache 是 event 模型,那需要指定 zts
make -j 2 && make install
cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/apache/conf/httpd.conf
在 393 行下面添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
systemctl restart apache.service
vim /usr/local/apache/htdocs/index.php
();
?>
能打开上图页面即为成功
vim /usr/local/apache/htdocs/index.php
$mysqli = new mysqli("localhost", "root", "123456");
if(!$mysqli) {
echo"database error";
}else{
echo"php env successful";
}
$mysqli->close();
phpinfo();
?>
11、测试,在浏览器输入:http://自己 IP 地址/index.php
页面左上角显示字样即为连接成功
在浏览器输入自己虚拟机 IP 地址 :192.168.0.107
mysql -u root -p ##密码填上一步初始化设置的密码
mysql> show databases;
mysql> exit