搭建 LNMP 环境
搭建 LAMP 环境
一、环境介绍
二、必装依赖软件
三、编译安装 Nginx-1.6.3
四、二进制安装 MYSQL-5.5.33
五、编译安装 PHP-5.3.27
六、检测 nginx与mysql nginx与php 是否相连
一、环境介绍
搭建这个环境,所有服务都安装在一台虚拟机中,在此介绍一下我的虚拟机
CentOS-6.7-x86_64 保证虚拟机可以正常上网
IP:192.168.6.36
hostname:yuci
关闭 iptbales selinux
二、必装依赖软件
全部通过 yum 安装
lrzsz # 软件和此环境没有什么关系。安装后可以通过xshell直接拖拽软件包
pcre
pcre-devel
openssl-devel
yum -y install lrzsz pcre pcre-devel openssl-devel
rpm -qa lrzsz pcre pcre-devel openssl-devel
三、编译安装 Nginx-1.6.3
创建一个专门用于存放软件包的目录
mkdir -p /home/yuci/tools
创建 nginx 用户,并检查
useradd -s /sbin/nologin/ -M nginx
id nginx
解压 nginx 压缩包(安装过 lrzsz ,所以可直接拖拽软件的该目录)
tar zxf nginx-1.6.3.tar.gz
开始编译安装 nginx , 在 nginx 目录下输入一下命令
./configure --prefix=/application/nginx-1.6.3 --user=nginx \
--group=nginx --with-http_ssl_module \
--with-http_stub_status_module \
&& make && make install
创建一个软连接,保留软件版本的同时方便操作
ln -s /application/nginx-1.6.3/ /application/nginx
启动 nginx 服务
/application/nginx/sbin/nginx
浏览器输入IP地址,nginx 搭建成功
四、二进制安装 MYSQL-5.5.33
解压 mysql 安装包
tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz
切到 /application 目录,lamp 环境中的所有服务都将安装到此目录中,方便管理
将 mysql 移动到 /application 目录中,并保留 mysql 版本号
mv /home/yuci/tools/mysql-5.5.33-linux2.6-x86_64 ./mysql-5.5.33
为 mysql 创建软连接,方便管理
ln -s /application/mysql-5.5.33/ /application/mysql
创建 mysql 用户
useradd -s /sbin/nologin/ -M mysql
id mysql
初始化 mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
授权 mysql ,将其属主属组改为 mysql 用户
chown -R mysql:mysql /application/mysql
拷贝 mysql 配置文件,选取 small 就好
cp support-files/my-small.cnf /etc/my.cnf
修改 mysql 的启动脚本 mysqld_safe,因为 mysql 的默认安装路径在 /usr/local/mysql,但现在 mysql 在 /application 目录中,所以通过 sed 命令更改
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
启动 mysql ,通过启动脚本 mysql_safe,并放入后台执行
/application/mysql/bin/mysqld_safe &
通过端口检查 mysql 是否启动
lsof -i :3306
每次通过 mysqld_safe 启动比较麻烦,所以配置变量,通过修改 /etc/profile 实现即可
vim /etc/profile
PATH="/application/mysql/bin:$PATH"
source /etc/profile # 刷新生效
拷贝 mysql 启动脚本,重命名为 mysqld 。
替换 mysql 启动脚本中的路径,将/usr/local/mysql 替换为 /application/mysql。
给 mysqld 这个脚本增加执行权限
cp support-files/mysql.server /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
使用 killall 命令杀死正在运行的 mysql 服务,重复杀,直到出现 mysqld: no process killed 的提示
killall mysqld
启动 mysql,并检查
/etc/init.d/mysqld start
将 mysql 设为开机启动
chkconfig mysqld on
设置 mysql 的 root 密码为 123456,并登陆 mysql
mysqladmin -uroot password "123456"
mysql -uroot -p123456
五、编译安装 PHP-5.3.27
安装 PHP 太麻烦,先确定一下流程吧
1)确认nginx ,mysql服务已经启动
2)通过 yum 安装
freetype-devel
libjpeg-devel # 因为版本升级的问题,yum 执行安装时是 libjpeg-devel ,但实际安装的是 libjpeg-turbo-devel
libpng-devel
gd
gd-devel
libcurl-devel
libxslt-devel
3)编译安装 libiconv-1.14 介个软件,因为它无法通过 yum 成功安装
4)通过 wget 新下载一个 epel 源
5)安装 libmcrypt libmcrypt-devel 包
6)安装 mhash 加密扩展库
7)安装 mcrypt 加密扩展库
8)编译安装 PHP-5.3.7
1)
在安装 PHP 之前首先应该确认一下 nginx与mysql 服务都已经启动
lsof -i :80
lsof -i :3306
2)
安装php需要的各种lib库文件,其中安装 gd-devel 时安装失败,同时安装 gd gd-devel 才安装上
yum -y install freetype-devel libjpeg-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel
rpm -qa freetype-devel libjpeg-turbo-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel
(libjpeg-devel == libjpeg-turbo-devel)
3)
安装 libiconv,这个软件无法通过 yum 安装,只能编译安装了
解压软件 -> 切到其目录中 -> 执行命令,编译安装
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv && make && make install
4)
安装 epel 源,因为后面还要安装的 libmcrypt 库。介个库离不开介个源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
5)
安装 libmcrypt libmcrypt-devel 包,并检查
yum -y install libmcrypt-devel
rpm -qa libmcrypt*
6)
安装 mhash 加密扩展库,并检查
yum -y install mhash mhash-devel
rpm -qa mhash mhash-devel
7)
安装 mcrypt 加密扩展库,并检查
yum -y install mcrypt
rpm -qa mcrypt
8)
编译安装 PHP-5.3.7,将 php 的安装包放到规定的 /home/yuci/tools 目录中
tar zxf php-5.3.27.tar.gz
cd php-5.3.27
创建文件,不创建 PHP 编译中会报错
touch ext/phar/phar.phar
创建一个软连接文件
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
正式编译安装 PHP, 编译路径如下, PHP 目录下执行即可
./configure \
--prefix=/application/php5.3.27 \
--with-mysql=/application/mysql \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp
make && make install
看到以下画面,说明安装成功,继续操作
给 php 创建一个软连接
ln -s /application/php5.3.27/ /application/php
配置 PHP 解析文件,php.ini
ls -l php.ini*
将配置文件复制到 php 安装目录,并改名为 php.ini
cp php.ini-production /application/php/lib/php.ini
php进程管理文件生效(php-fpm.conf 进程管理)
cp php-fpm.conf.default php-fpm.conf
启动 php-fpm,检查是否启动,查看 php-fpm 端口
/application/php/sbin/php-fpm
ps -ef | grep php-fpm
ss -lntup | grep php-fpm
六、编辑 nginx.conf 文件
将文件过滤,看着也方便,编辑如下
cd /application/nginx/conf
egrep -v "#|^$" nginx.conf.default > nginx.conf
检测 nginx与mysql nginx与php 是否相连
在此目录下分别创建 phpinifo.php,mysql.php 两个文件,文件内容如下
<?php
phpinfo();
?>
<?php
$link_id=mysql_connect('localhost','root','123456') or mysql_error();
if($link_id){
echo "mysql successful by yuci.";
}else{
echo mysql_error();
}
?>
检查语法,平滑加载
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
浏览器中分别输入
192.168.6.36/phpinfo.php
192.168.6.36/mysql.php
大功告成
本文转自 mlwzby 51CTO博客,原文链接:http://blog.51cto.com/aby028/1926798
搭建 LNMP 环境相关推荐
- ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装
v 一直是在用的lnmp的集成安装包搭建lnmp环境,因为工作需要需要安装ldap扩展,在网上怎么都找不到源码安装包,只能卸载掉原来的lnmp环境,用ubuntu的php5-ldap扩展, 在安装中遇 ...
- docker搭建 LNMP 环境
一.准备镜像 安装完docker后,更换完镜像源(docker的安装十分简单自行百度即可) 打开/etc/docker目录下的daemon.json 添加以下内容 { "registry-m ...
- 安装虚拟机Ubuntu,搭建lnmp环境碰到的坑(二)
上一篇文章是基础的搭建ubuntu,安装好了之后就该搭建lnmp环境了,在此楼主也是第一次用nginx,如果有什么错误之后,请告知,万分感谢 搭建lnmp的一些基础命令在网上都可以查到,楼主只贴出自己 ...
- centos 6.5 搭建lnmp环境
centos 6.5 搭建lnmp环境 建议安装顺序: mysql------->>编译php---->>编译nginx 最麻烦:编译php出各种错. 最简单:mysql 软件 ...
- WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机
版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox ...
- wordpress支持MySQL5.5_CentOS 5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装Wordpress...
一.总体介绍 系统环境 CentOS release 5.5 (Final) ,kernel 2.6.18-194.el5 安装 Nginx . PHP(FastCGI) . MySQL ...
- [网络安全自学篇] 九十一.阿里云搭建LNMP环境及实现PHP自定义网站IP访问 (1)
这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.本文主要分享作阿里云搭建LNMP环境及实现PHP自定义网站IP访问,同时详细介绍走过 ...
- Docker - 搭建LNMP环境 - 学习/实践
1.应用场景 主要用于学习使用docker搭建开发环境. 学习容器化技术. 以及快速搭建开发环境, 同时保持团队之间开发/测试环境相同~~~~ 2.学习/操作 1.文档阅读 Docker - 学习/实 ...
- 腾讯云服务器CVM(CentOS 7、Tencent Linux)手动搭建LNMP环境(linux+Nginx+Mariadb+PHP)
手动搭建云服务器运行环境就是喜欢折腾,如果觉得麻烦的网友可以使用LNMP镜像直接启动CVM实例,以便快速建站. 腾讯云服务器CVM(CentOS 7.Tencent Linux)手动搭建LNMP环境( ...
- VirtualBox+vagrant 搭建LNMP环境
VirtualBox+vagrant 搭建LNMP环境 1.安装VirtualBox和vagrant 去各自的官网下载最新的版本就OK了,win7用户需要注意一下,win7下不支持很高版本的vagra ...
最新文章
- vectorbool不是容器
- JavaScript进阶系列01,函数的声明,函数参数,函数闭包
- 项目Beta冲刺——凡事预则立
- Oracle数据库管理系统:大数据的备份
- Java并发编程—notify和notifyAll有什么区别?
- node 大写_大写Node.js模块
- windows系统如何进入环境变量
- 有关LinkedList常用方法的源码解析
- springboot中配置文件使用2
- js html 拼接,JavaScript concat() 方法
- Mybatis Plus逻辑删除
- 官方正式预热华为Mate40系列发布盛典:余承东称还有新功能
- [论文摘录] Web Service QoS的几个研究方向
- Paypal Rest Api自定义物流地址(跳过填写物流地址)
- hover 插入html元素,解决hover生成border造成的元素移动方法
- 31个省环境统计年鉴面板数据(2003-2019年)
- 水晶报表繁体转简体心得:之一 RPT文件篇
- NTFS安全权限详解
- 用python把图片换成蓝底_Python给照片换底色(蓝底换红底)
- http://bbs.pediy.com/showthread.php?p=1365122