千家信息网

CentOS下最新源代码包编译安装及搭建LNMP环境方法

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,下面一起来了解下CentOS下最新源代码包编译安装及搭建LNMP环境方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望CentOS下最新源代码包编译安装及搭建LNMP环境方法这篇短内容是你想要的。
千家信息网最后更新 2025年11月10日CentOS下最新源代码包编译安装及搭建LNMP环境方法

下面一起来了解下CentOS下最新源代码包编译安装及搭建LNMP环境方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望CentOS下最新源代码包编译安装及搭建LNMP环境方法这篇短内容是你想要的。

部署环境

系统:CentOS 6.8 x86_64

Nginx:1.11.3

MySQL:5.7.14

PHP:7.0.10

pcre:8.39

zlib:1.2.8

openssl:1.0.1t

freetype:2.6.5

libmcrypt:2.5.8

boost:1.59.0

cmake:3.6.1

部署准备

使用客户机浏览器访问freetype官网 https://www.freetype.org/ 下载页面选取一个下载地址

下载目前最新发行版本,右击-复制下载链接。

在CentOS服务系统切换到/usr/src目录下使用wget工具贴入下载刚刚复制的链接

cd /usr/src

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.6.5.tar.gz

访问mcrypt官网 http://mcrypt.sourceforge.net/ 选择一个下载站点

查看所有文件

选择目录libmcrypt

2.5.8版本

选择一个包下载

访问openssl官网 https://www.openssl.org/ 下载页面

这里选择下载1.0.1t版本

访问pcre官网 http://www.pcre.org/ 选取一个下载站点

下载最新发行版本

访问zlib官网 http://www.zlib.net/ 拉到最下面选取一个下载站点

复制完整下载地址进行下载

访问cmake官网 https://cmake.org/ 下载页面

下载最新发行版

访问Nginx官网 http://nginx.org/ 下载目前最新发行版

复制完整下载地址进行下载

访问MySQL官网 https://www.mysql.com/ 下载页面

下载免费社区版

前往下载页面

平台类型:源代码包

选择包含boost头部的包下载

不登陆下载

获取完整下载地址后到下载到CentOS系统

访问PHP官网 http://www.php.net/ 下载页面选择最新版

最近站点下载

获取完整下载地址下载

所有软件包

部署过程

使用yum安装所需的系统软件包

yum install -y gcc gcc-c++ ncurses ncurses-devel libxml2 libxml2-devel curl-devel libpng libpng-devel

安装Nginx

解压pcre与zlib压缩包

tar zxf pcre-8.39.tar.gz

tar zxf zlib-1.2.8.tar.gz

tar zxf openssl-1.1.0.tar.gz

解压nginx压缩包配置

tar zxf nginx-1.11.3.tar.gz

cd nginx-1.11.3

./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/run/nginx.pid --user=nginx --group=nginx --with-http_gunzip_module --with-http_gzip_static_module --with-http_ssl_module --with-zlib=/usr/src/zlib-1.2.8 --with-pcre=/usr/src/pcre-8.39 --with-openssl=/usr/src/openssl-1.0.1t

编译安装

make && make install

创建Nginx用户,分配权限。

useradd -M -s /sbin/nologin nginx

chown -R nginx.nginx /usr/local/nginx/

启动NGINX服务

/usr/local/nginx/sbin/nginx

创建开机自启动脚本 /etc/init.d/nginx 内容如下:

#! /bin/sh

#

#

# chkconfig: 2345 66 34

# description: A very fast and reliable nginx engine

#

#

#

BASEDIR=/usr/local/nginx

DAEMON=$BASEDIR/sbin/nginx

PIDFILE=$BASEDIR/run/nginx.pid


set -e

if [ ! -x "$DAEMON" ];then

echo "nginx deamon not exist"

exit 1

fi


if [ ! "$1" ];then

echo "Usage: {start|stop|reload|restart}"

exit 2

fi


_start() {

$DAEMON

}


_stop() {

$DAEMON -s stop

}


_reload() {

$DAEMON -s reload

}


case "$1" in

start)

_start

echo -e "Starting Nginx: [ \e[0;32mOK\e[0m ]"

;;

stop)

_stop

echo -e "Stoping Nginx: [ \e[0;32mOK\e[0m ]"

;;

reload|graceful)

_reload

echo -e "Reloading Nginx: [ \e[0;32mOK\e[0m ]"

;;

restart)

_stop

echo -e "Stoping Nginx: [ \e[0;32mOK\e[0m ]"

_start

echo -e "Starting Nginx: [ \e[0;32mOK\e[0m ]"

esac


exit 0

添加执行权限

chmod 755 /etc/init.d/nginx

添加到chkconfig服务管理

chkconfig --add nginx

测试脚本运行情况

安装MySQL

切换回/usr/src目录安装cmake

tar zxf cmake-3.6.1.tar.gz

cd cmake-3.6.1

./configure --prefix=/usr/local/cmake

编译安装

make && make install

MySQL数据库

cd /usr/src/

tar zxf mysql-boost-5.7.14.tar.gz

cd mysql-5.7.14

/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \

-DDOWNLOAD_BOOST=0 -DWITH_BOOST=boost

编译安装

make && make install

创建有关目录

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/data

mkdir -p /usr/local/mysql/log

mkdir -p /usr/local/mysql/run

删除 /etc/my.cnf 配置文件,新建 /usr/local/mysql/etc/my.cnf 文件

rm -f /etc/my.cnf

cat > /usr/local/mysql/etc/my.cnf << EOF

[mysqld]

bind-address=0.0.0.0

port=3306

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld.pid

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


[mysqld_safe]

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld.pid

EOF

创建MySQL用户并分配权限

useradd -M -s /sbin/nologin mysql

chown -R mysql:mysql /usr/local/mysql/

初始化数据库,注意最后一行提示会给出临时登录密码。

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

启动MySQL数据库

/usr/local/mysql/bin/mysqld_safe &

使用生成的临时密码登录MySQL数据库

/usr/local/mysql/bin/mysql -u root -p

修改数据库登录密码为 A2c@1B3

alter user 'root'@'localhost' identified by 'A2c@1B3';

创建MySQL服务启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chmod 755 /etc/init.d/mysql

修改启动脚本文件/etc/init.d/mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

mysqld_pid_file_path=/usr/local/mysql/run/mysqld.pid


添加至chkconfig服务管理

chkconfig --add mysql

安装PHP

切换回/usr/src目录安装freetype

tar jxf freetype-2.6.5.tar.bz2

cd freetype-2.6.5

./configure --prefix=/usr/local/freetype

编译安装

make && make install

切换回/usr/src目录安装libmcrypt

tar zxf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt

编译安装

make && make install

安装openssl

cd /usr/src/openssl-1.0.1t

./config --prefix=/usr/local/openssl

编译安装

make && make install

切换回/usr/src目录安装php

tar php-7.0.10.tar.gz

cd php-7.0.10

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt=/usr/local/libmcrypt/ --with-freetype-dir=/usr/local/freetype/ --with-openssl=/usr/local/openssl/ --enable-gd-native-ttf --with-gd --with-iconv --with-zlib --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-sockets --enable-zip --enable-soap --with-gettext --enable-session --with-curl --enable-opcache

编译安装

make && make install

创建配置文件

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

创建php-fpm开机启动脚本

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod 755 /etc/init.d/php-fpm

编辑/etc/init.d/php-fpm文件加入参数控制启动顺序,放在Nginx服务后启动。

# chkconfig: 2345 67 33

添加至chkconfig服务管理

chkconfig --add php-fpm

编辑Nginx配置文件 /usr/local/nginx/conf/nginx.conf 添加php索引

取消php解析模块部分注释,修改脚本文件路径。

创建php测试文件

rm -f /usr/local/nginx/html/*

cat > /usr/local/nginx/html/index.php << EOF

phpinfo();

?>

EOF

重启Nginx服务与php-fpm服务,关闭系统防火墙与selinux服务。

service nginx restart

/etc/init.d/php-fpm start

/etc/init.d/iptables stop

chkconfig iptables off

setenforce 0

浏览器访问CentOS云服务器地址,随后显示php测试页面详细信息。


注意:为了使PHP站点支持更多的扩展功能,以上安装了许多支持的第三方模块,请根据实际环境需求选择安装!

看完CentOS下最新源代码包编译安装及搭建LNMP环境方法这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

服务 编译 文件 目录 页面 选择 地址 脚本 环境 数据 数据库 站点 系统 切换 源代码 最新发行 版本 发行 配置 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 怀旧服不同服务器能共用吗 百望服务器地址 北京网络安全保卫总队地址 雁塔区软件开发找哪家 阿里云的数据库在哪里查看 网络安全和信息化建设十三五 数据库连接池初始化方法 数据库技术及运用学堂云答案 oracle数据库高并发 爱普生服务器断开怎么再链接 邢台市网络安全会议 软件报错无法连接到数据库 坦克世界 聊天服务器 idea连数据库的工具 计算机网络技术对防疫 德诚珠宝软件开发怎么样 isc2019网络安全解决方法 专业性网络技术推广排名靠前 深圳小明时代网络技术 广东三易互联网科技有限公司 金融软件开发 自我评价 ipad无法接通激活服务器 dal数据库 非关系数据库系统有哪些特点 计算机网络技术学了是干什么的 网络安全法云等保 网络安全等级保护资质由哪里发放 软件开发的服务机构 电脑服务器开发 增城区数据网络技术开发动态
0