源码构建LNMP线上环境
linux+Nginx+Mariadb+PHP
准备软件
Nginx:http://nginx.org/en/download.html
我选择的1.10.2 Stable
PHP: http://www.php.net/
选择5.6.29 Stable
Mariadb: https://downloads.mariadb.org/mariadb/10.1.20/
选择10.1.20 Stable
开始安装
Step0:安装基本软件
1.Gcc
2.Cmake
#yum install gcc
#yum install cmake
3.附加依赖
#yum install -y ncurses-devel openssl-devel openssl
Step1:我个人推荐先安装mariadb
文章部分来源: http://www.cnblogs.com/daixiang/p/5431639.html
他写的更为详细,推荐查看
1.创建数据存放目录
进入mariadb目录
#cd mariadb-10.1.20/
2.cmake
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mariadb-data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
如果中途失败,请看文字说明进行安装所需依耐或者解决实际问题,
清楚缓存
#rm CMakeCache.txt
如果cmake成功
#make && make install
参数说明
# 安装根目录
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
# 数据存储目录
-DMYSQL_DATADIR=/data/mydata
# UNIX socket文件
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
# 配置文件(my.cnf)目录
-DSYSCONFDIR=/etc
# 默认字符集
-DDEFAULT_CHARSET=utf8
# 默认字符校对
-DDEFAULT_COLLATION=utf8_general_ci
# TCP/IP端口
-DMYSQL_TCP_PORT=3306
# * ARCHIVE 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1
# * ARIA 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1
# * BLACKHOLE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
# * FEDERATEDX 引擎支持
-DWITH_FEDERATEDX_STORAGE_ENGINE=1
# * PARTITION 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1
# * PERFSCHEMA 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
# * SPHINX 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1
# * XTRADB 支持
-DWITH_XTRADB_STORAGE_ENGINE=1
# * innoDB 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
# * Myisam 引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1
# readline库
-DWITH_READLINE=1
# 启用加载本地数据
-DENABLED_LOCAL_INFILE=1
# 扩展支持编码 ( all | utf8,gbk,gb2312 | none )
-DWITH_EXTRA_CHARSETS=all
# 扩展字符支持
-DEXTRA_CHARSETS=all
# 系统传输使用SSL加密
-DWITH_SSL=system
# 系统传输使用zlib压缩,节约带宽
-DWITH_ZLIB=system
# libwrap库
-DWITH_LIBWRAP=0
# 运行用户
-DMYSQL_USER=mysql
# 调试模式
-DWITH_DEBUG=0
Step2:配置Mariadb
#cd /usr/local/mysql
初始化数据库
#scripts/mysql_install_db --user=mysql --datadir=/data/mariadb-data/
设置配置文件
#vim /etc/my.conf
·内容
datadir = /data/mariadb-data 数据目录
thread_concurrency = 4 设置线程数=核心数x2
·
添加启动脚本
#cp support-files/mysql.server /etc/init.d/mysqld
#chkconfig --add mysqld
查看服务状态
#chkconfig --list mysqld
启动服务
#service mysqld start
#ss -tunl | grep 3306
导出环境变量
[root@example.com mysql]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@example.com mysql]# source /etc/profile.d/mysql.sh
导出头文件:
# ln -sv /usr/local/mysql/include/ /usr/local/include/mysql
导出库文件:
#vim /etc/ld.so.conf.d/mysql.conf
step3:安装Nginx
安装
#./configure --prefix=/home/programes/nginx-1.10.2 --with-openssl
#make && make install
配置
Step4:安装PHP
安装PHP
1.我简化安装,如果需要其他得扩展,我使用phpize安装就可以了
#./configure --prefix=/home/programs/php-5.6.29/ --enable-fpm
2.中途可能遇到一些库没安装例如,安装库后请在此回到第一步
#yum install libxml2 libxml2-devel
3.
#make && make install
4.拷贝配置文件ini
#cp php.ini-development /home/programs/php-5.6.29/lib/php.ini
#cp /home/programs/php-5.6.29/etc/php-fpm.conf-default /home/programs/php-5.6.29/etc/php-fpm.conf
5.启动fpm
#/home/programs/php-5.6.29/sbin/php-fpm
step5:配置站点
#
step6:授权一个mysql用户
mariadb> ? grant;