摘要:源码安装文件下载下载源码下载下载源码下载下载源码下载源码下载源码下载源码包解压命令包解压命令安装安装前的准备安装安装安装安装安装需要的扩展安装安装时需要的扩展安装在源码目录中执行以下操作执行命
源码安装 1. 文件下载 1.1 下载PHP源码
php.net
下载 php-7.2.7.tar.gz
https://github.com/swoole/swo...
下载 swoole-src-4.0.1.zip
https://redis.io/download
redis-4.0.10.tar.gz
https://github.com/redis/hire...
hiredis-0.13.3.zip
http://nginx.org/en/download....
nginx-1.15.1.tar.gz
https://downloads.mariadb.org...
mariadb-10.3.8.tar.gz
</>复制代码
unzip packagename.zip -d ./dir
1.8 tar.gz包解压命令
</>复制代码
tar -zxvf packagename.tar.gz
2. 安装
2.1 安装前的准备
安装GCC
</>复制代码
yum install gcc
安装autoconf
</>复制代码
yum install -y autoconf
安装pcre
</>复制代码
yum install -y pcre pcre-devel
安装zlib
</>复制代码
yum install -y zlib zlib-devel
安装需要的扩展
</>复制代码
yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
安装swoole安装时需要的扩展
</>复制代码
yum install glibc-headers
yum install gcc-c++
2.2 安装PHP
</>复制代码
在php源码目录中执行以下操作
执行./configure 命令
</>复制代码
./configure --prefix=/usr/local/php72 --with-mysqli --with-pdo-mysql --with-jpeg-dir --with-png-dir --with-iconv-dir --with-freetype-dir --with-zlib --with-libxml-dir --with-gd --with-openssl --with-mhash --with-curl --with-pear --with-fpm-user=nobody --with-fpm-group=nobody --enable-bcmath --enable-soap --enable-zip --enable-fpm --enable-mbstring --enable-sockets --enable-opcache --enable-pcntl --enable-simplexml --enable-xml --disable-fileinfo --disable-rpath
编译和安装
</>复制代码
make && make install
复制配置文件到php的配置目录
</>复制代码
cp php.ini-development /usr/local/php72/lib/php.ini
2.3 安装swoole</>复制代码
注意目录的对应
</>复制代码
在swoole源码目录中
执行phpize
</>复制代码
/usr/local/php72/bin/phpize
执行./configure
</>复制代码
./configure
</>复制代码
如果提示:Cannot find php-config. Please use --with-php-config=PATH
则使用: ./configure --with-php-config=/usr/local/php72/bin/php-config
编译和安装
</>复制代码
make && make install
</>复制代码
php开启swoole扩展
</>复制代码
vim /usr/local/php72/lib/php.ini
</>复制代码
搜索";extension=",在最后一个被搜索到的地方添加extension=swoole.so
检查swoole扩展是否被安装上
</>复制代码
/usr/local/php72/bin/php -ir | grep swoole
</>复制代码
输出一下内容为正常:
swoole
swoole support => enabled
swoole.aio_thread_num => 2 => 2
swoole.display_errors => On => On
swoole.fast_serialize => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608
swoole.use_namespace => On => On
swoole.use_shortname => On => On
PWD => /root/swoole-src-4.0.1
$_SERVER["PWD"] => /root/swoole-src-4.0.1
2.4 安装redis
</>复制代码
在redis源码目录
安装到指定目录
</>复制代码
make PREFIX=/usr/local/redis install
2.5 安转hiredis
</>复制代码
在hiredis源码目录中
编译和安装
</>复制代码
make && make install
2.6 安装nginx
创建www组和用户
</>复制代码
groupadd -r www && useradd -r -g www -s /bin/false -M www
创建缓存目录
</>复制代码
mkdir /var/tmp/nginx
配置
</>复制代码
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/conf/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-http_stub_status_module --with-http_ssl_module --user=www --group=www
</>复制代码
2019.01.25 新增安装时ssl支持
编译安装
</>复制代码
make && make install
2.7 安装mariadb
安装依赖
</>复制代码
yum install -y libaio libaio-devel bison bison-devel zlib-devel openssl openssl-devel ncurses ncurses-devel libcurl-devel libarchive-devel boost boost-devel lsof wget gcc gcc-c++ make cmake perl kernel-headers kernel-devel pcre-devel
创建mysql组和用户
</>复制代码
groupadd -r mysql
useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql
创建安装目录
</>复制代码
mkdir -p /usr/local/mysql
创建数据存放目录
</>复制代码
mkdir -p /data/mysql
修改数据存放目录的所属
</>复制代码
chown -R mysql:mysql /data/mysql
</>复制代码
在mariadb源码目录
cmake
</>复制代码
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
-DWITHOUT_TOKUDB=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STPRAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWIYH_READLINE=1
-DWIYH_SSL=system
-DVITH_ZLIB=system
-DWITH_LOBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
</>复制代码
重新执行cmake命令需要执行:rm -f CMakeCache.txt
编译安装
</>复制代码
make && make install
</>复制代码
在mariadb的安装目录(cd /usr/local/mysql/)
使用 mysql 用户执行脚本, 安装数据库到数据库存放目录
</>复制代码
scripts/mysql_install_db --user=mysql --datadir=/data/mysql
输出以下内容
</>复制代码
Installing MariaDB/MySQL system tables in "/data/mysql" ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following commands:
"./bin/mysqladmin" -u root password "new-password"
"./bin/mysqladmin" -u root -h VM_0_4_centos password "new-password"
Alternatively you can run:
"./bin/mysql_secure_installation"
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd "." ; ./bin/mysqld_safe --datadir="/data/mysql"
You can test the MariaDB daemon with mysql-test-run.pl
cd "./mysql-test" ; perl mysql-test-run.pl
Please report any problems at http://mariadb.org/jira
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB"s strong and vibrant community:
https://mariadb.org/get-invol...
初始化mysql
</>复制代码
./bin/mysql_secure_installation
查看命令帮助
</>复制代码
/usr/local/mysql/bin/mysqld --verbose --help
/usr/local/mysql/bin/mysql --help
暂未解决my.cnf的默认配置文件找不到的问题
神奇的支持文件
</>复制代码
support-files/
2.8 debian发行版安装PHP7</>复制代码
可以用该文件夹中的文件对mysql进行管理
安装依赖
</>复制代码
sudo apt-get install -y libxml2-dev build-essential openssl libssl-dev libcurl4-gnutls-dev libjpeg-dev libpng-dev libmcrypt-dev libreadline6 libreadline6-dev curl libfreetype6-dev
configure
</>复制代码
./configure --prefix=/usr/local/php7.2 --with-mysqli --with-pdo-mysql --with-jpeg-dir --with-png-dir --with-iconv-dir --with-freetype-dir --with-zlib --with-libxml-dir --with-gd --with-openssl --with-mhash --with-curl --with-pear --with-fpm-user=nobody --with-fpm-group=nobody --enable-bcmath --enable-soap --enable-zip --enable-fpm --enable-mbstring --enable-sockets --enable-opcache --enable-pcntl --enable-simplexml --enable-xml --disable-fileinfo --disable-rpath
编译安装
</>复制代码
sudo make && sudo make install
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/40020.html
摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....
摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....
摘要:源码解读系列一好难都跑不起来怎么破了解一下呗阅读框架源码第一步搞定环境小伙伴刚接触的时候会感觉压力有点大更直观的说法是难开发组是不赞成难这个说法的的代码都是实现的而又是世界上最好的语言的代码阅读起来是很轻松的开发组会用源码解读系列博客深 date: 2018-8-01 14:22:17title: swoft| 源码解读系列一: 好难! swoft demo 都跑不起来怎么破? doc...
摘要:源码解读系列一好难都跑不起来怎么破了解一下呗阅读框架源码第一步搞定环境小伙伴刚接触的时候会感觉压力有点大更直观的说法是难开发组是不赞成难这个说法的的代码都是实现的而又是世界上最好的语言的代码阅读起来是很轻松的开发组会用源码解读系列博客深 date: 2018-8-01 14:22:17title: swoft| 源码解读系列一: 好难! swoft demo 都跑不起来怎么破? doc...
阅读 1853·2023-04-25 16:28
阅读 780·2021-11-23 09:51
阅读 1555·2019-08-30 15:54
阅读 1245·2019-08-30 15:53
阅读 2924·2019-08-30 15:53
阅读 3502·2019-08-30 15:43
阅读 3342·2019-08-30 11:18
阅读 3416·2019-08-26 10:25