阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS下源码编译安装LNMP(附源码包)

232次阅读
没有评论

共计 7145 个字符,预计需要花费 18 分钟才能阅读完成。

简介

LNMP 指的是一个基于 CentOS/Debian 编写的 Nginx、PHP、MySQL、phpMyAdmin、eAccelerator 一键安装包。可以在 VPS、独立主机上轻松的安装 LNMP 生产环境。LNMP 代表的就是:Linux 系统下 Nginx+MySQL+PHP 这种网站服务器架构。Linux 是一类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、Ubuntu、Fedora、gentoo 等;Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器;Mysql 是一个小型关系型数据库管理系统;PHP 是一种在服务器端执行的嵌入 HTML 文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

特点

Nginx 是一个小巧而高效的 Linux 下的 Web 服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。Nginx 性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

实验环境

  • 系统环境:CentOS 6.5
  • 宿主机 IP 地址:192.168.100.20
  • yum 挂载目录:/mnt/sr0
  • 相关源码包下载地址:

相关资料可从以下信息得到下载:

点击这个 http://www.linuxidc.com/Linux/2013-12/93755.htm 链接 关注 Linux 公社官方微信,关注后回复数字153648。即可得到网友的分享密码。

如果取消关注 Linux 公社公众号,即使再次关注,也将无法提供本服务!

链接:https://pan.baidu.com/s/1CaWnBVu_UIdE-A36ZJU2bw 密码:获得见上面的方法,地址失效请在下面留言。

一、Nginx 安装

1、准备工作,关闭防火墙及 selinux

[root@raid ~]# chkconfig iptables off #随开机关闭 iptables
[root@raid ~]# vim /etc/sysconfig/selinux
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# reboot #重启 Linux 生效

2、安装相关工具包

[root@raid ~]# yum -y install gcc gcc-c++ pcre-devel zlib-devel

3、创建 Nginx 进程用户

[root@raid ~]# useradd -M -s /sbin/nologin nginx

4、配置、编译及编译安装 Nginx 源码包

[root@raid ~]# tar xvf nginx-1.6.0.tar.gz -C /usr/src/
[root@raid ~]# cd /usr/src/nginx-1.6.0/
[root@raid nginx-1.6.0]# ./configure \
–prefix=/usr/local/nginx \
–user=nginx –group=nginx \
–with-http_stub_status_module

参数解析:

prefix #指定安装位置
user=nginx #指定 nginx 系统用户
group=nginx #指定组
with-http_stub_status_module #指定统计模块

[root@raid nginx-1.6.0]# make && make install

5、优化路径

[root@raid nginx-1.6.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

6、启动 Nginx 服务

[root@raid ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# nginx -t #测试配置是否有语法错误
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# nginx #启动 Nginx
[root@raid ~]# netstat -anpt | grep “:80” #检测服务是否启动
[root@raid ~]# cat /usr/local/nginx/logs/nginx.pid #查看 pid
CentOS 下源码编译安装 LNMP(附源码包)

7、停止 Nginx 服务

[root@raid ~]# kill -1 29050 #平滑重启 Nginx 服务。相当于 killall -s HUP nginx;nginx -s reload
[root@raid ~]# kill -3 29050 #关闭 Nginx 服务。相当于 killall -s QUIT nginx;nginx -s quit
[root@raid ~]# nginx #重启服务
[root@raid ~]# cat /usr/local/nginx/logs/nginx.pid #查看 pid 号
CentOS 下源码编译安装 LNMP(附源码包)

8、编辑 Nginx 服务脚本

[root@raid ~]# vim /etc/init.d/nginx

添加以下脚本:

#!/bin/bash
# chkconfig: 35 99 20
# description:Nginx Server Control Script
PROG=”/usr/local/sbin/nginx”
PIDF=”/usr/local/nginx/logs/nginx.pid”
case “$1” in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo “Usage: $0 (start|stop|restart|reload)”
exit 1 # 非正常退出
esac
exit 0 # 正常退出

[root@raid ~]# chmod +x /etc/init.d/nginx #赋予权限
[root@raid ~]# chkconfig –add nginx #添加系统服务

二、Mysql 安装

1、卸载 PRM 方式的 mysql-server、mysql

[root@raid ~]# rpm -qa | grep mysql
CentOS 下源码编译安装 LNMP(附源码包)

2、安装相应工具包

[root@raid ~]# yum -y install gcc gcc-c++ ncurses-devel bison libaio-devel ncurses-devel cmake

3、创建进程用户 mysql

[root@raid ~]# useradd -s /sbin/nologin mysql

4、解压、配置安装 mysql

[root@raid ~]# tar xzvf mysql-5.5.24.tar.gz
[root@raid ~]# cd mysql-5.5.24
[root@raid mysql-5.5.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled

解析:

DCMAKE_INSTALL_PREFIX:mysql 软件安装位置
DDEFAULT_CHARSET:默认字符集
DDEFAULT_COLLATION:默认字符校验
DWITH_EXTRA_CHARSETS:额外的编码,请使用 ALL 来编译
DWITH_MYISAM_STORAGE_ENGINE:安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE:安装 innodb 存储引擎
DWITH_MEMORY_STORAGE_ENGINE:安装 memory 存储引擎
DWITH_READLINE:支持 readline 库,支持一行行读取数据
DENABLED_LOCAL_INFILE:启用本地加载数据
DMYSQL_DATADIR:数据目录
DMYSQL_USER:指定 mysql 的运行用户
DMYSQL_TCP_PORT=3306:mysql 的端口号默认是 3306

[root@raid mysql-5.5.24]# make && make install

5、修改 mysql 安装目录的所有者,所属组

[root@localhost mysql-5.5.24]# chown -R mysql:mysql /usr/local/mysql/

6、创建修改 my.cnf 配置文件

[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf

7、添加系统服务

[root@localhost mysql-5.5.24]# vim /etc/profile #修改系统环境变量

最后一行添加:

export PATH=$PATH:/usr/local/mysql/bin/

[root@localhost mysql-5.5.24]# source /etc/profile #重新读取系统环境变量

[root@localhost mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld #添加系统服务
[root@localhost mysql-5.5.24]# chmod +x /etc/init.d/mysqld #添加执行权限
[root@localhost mysql-5.5.24]# chkconfig –add mysqld #将 mysqld 添加为系统服务

8、初始化数据库

[root@localhost mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db \
–user=mysql \
–ldata=/var/lib/mysql \
–basedir=/usr/local/mysql \
–datadir=/home/mysql

解析:

user:指定数据库管理员,也就是是谁管理数据库
basedir:指定 mysql 软件安装位置
datadir:指定 mysql 数据安装位置

[root@localhost mysql-5.5.24]# vim /etc/init.d/mysqld

找到 basedir、datadir 进行赋值

basedir=/usr/local/mysql #约 46 行数据库安装目录
datadir=/home/mysql #约 47 行数据存放目录

9、重新启动数据库

[root@localhost mysql-5.5.24]# service mysqld start
[root@localhost mysql-5.5.24]# netstat -anpt | grep 3306 #查看端口

CentOS 下源码编译安装 LNMP(附源码包)

10、访问 mysql

[root@localhost ~]# mysqladmin -u root password ‘123’# 设置新密码
[root@localhost ~]# mysql -uroot -p123 #登录 mysql
CentOS 下源码编译安装 LNMP(附源码包)

三、安装 PHP

1、安装 GD 库关联程序

[root@localhost ~]# yum install \
libjpeg-devel \
libpng-devel \
freetype-devel \
zlib-devel \
gettext-devel \
libXpm-devel \
libxml2-devel \
fontconfig-devel \
openssl-devel \
openssl-devel \
bzip2-devel \
libxml2 \
libxml2-devel

2、解压、配置安装 gd(用来处理和生成图片)

[root@localhost ~]# tar xzvf gd-2.0.35.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/gd/2.0.35/
[root@localhost 2.0.35]# ./configure –prefix=/usr/local/gd
[root@localhost 2.0.35]# make && make install

3、解压配置安装 php

[root@localhost ~]# tar xjvf php-5.4.5.tar.bz2 -C /usr/src
[root@localhost ~]# cd /usr/src/php-5.4.5/
[root@raid php-5.4.5]# ./configure \
–prefix=/usr/local/php5 \
–with-gd \
–with-zlib \
–with-mysql=/usr/local/mysql \
–with-config-file-path=/usr/local/php5 \
–enable-mbstring \
–with-jpeg-dir \
–with-openssl \
–disable-ipv6 \
–enable-fpm
[root@raid php-5.4.5]# make && make install

4、创建 PHP 配置文件

[root@raid php-5.4.5]# cp php.ini-development /usr/local/php5/php.ini

5、优化路径

[root@raid php-5.4.5]# ln -s /usr/local/php5/bin/ /usr/local/bin/
[root@raid php-5.4.5]# ln -s /usr/local/php5/sbin/
/usr/local/sbin/

6、为 PHP 安装加速器

[root@raid ~]# tar xvfz ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
[root@raid ~]# cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[root@Nginx php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ #复制 ZendGuardLoader 模块至 php 目录下

7、配置 PHP 识别加速器

[root@raid ~]# vim /usr/local/php5/php.ini

末行添加:

[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

8、开启 nginx 的 PHP 支持

[root@raid ~]# cd /usr/local/php5/etc/
[root@raid etc]# cp php-fpm.conf.default php-fpm.conf
[root@raid etc]# useradd -M -s /sbin/nologin php
[root@raid etc]# vim php-fpm.conf #模块化进程管理工具

修改以下参数:

pid = run/php-fpm.pid# 在 25 行去掉注释,确定 pid 文件的位置
user = php #在 140 行指定用户
group = php #
pm.max_children = 50 #在 217 行,最多扩延进程数量,先改为 50,一个水桶,它代表桶的容积
pm.start_servers = 20 #222 行,开启的进程数,改成 20,启动时,开启的进程数
pm.min_spare_servers = 5 #227 行,最少空闲进程数是 5,低于这个数,每秒钟会产生一个新的进程
pm.max_spare_servers = 20 #232 行,最多允许的空间进程数,客户不连接 PHP,最多允许的空间进程数

9、启动 php-fpm

[root@raid ~]# /usr/local/sbin/php-fpm
[root@raid ~]# netstat -lntup | grep 9000
CentOS 下源码编译安装 LNMP(附源码包)

10、编辑 nginx 主配置文件

[root@raid ~]# vim /usr/local/nginx/conf/nginx.conf

将 PHP 网页请求,转给 FPM 模块处理:

location ~ .php$ {
root /var/www/html/btcom; # PHP 站点目录
fastcgi_pass 127.0.0.1:9000; # php-fpm 监听地址
fastcgi_index index.php; # 识别的首页文件
include fastcgi.conf; # 包含 fastcgi.conf 样本配置
}

[root@raid ~]# mkdir -p /var/www/html/btcom #创建站点目录
[root@raid ~]# service nginx restart #重启服务

四、测试

1、测试 php 网页能否正常显示

[root@raid ~]# vim /var/www/html/btcom/index.php

添加以下内容:

<?php
phpinfo();
?>

CentOS 下源码编译安装 LNMP(附源码包)

2、测试 PHP 网页能访问 MySQL 服务器

[root@raid ~]# vim /var/www/html/btcom/index.php

添加以下内容:

<?php
$link=mysql_connect(‘localhost’,’root’,’123′);
if($link) echo “Welcome to Mysql”;
mysql_close();
?>

CentOS 下源码编译安装 LNMP(附源码包)

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7145字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中