千家信息网

搭建 LNMP 环境

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,搭建 LAMP 环境一、环境介绍二、必装依赖软件三、编译安装 Nginx-1.6.3四、二进制安装 MYSQL-5.5.33五、编译安装 PHP-5.3.27六、检测 nginx与mysql ngin
千家信息网最后更新 2024年11月17日搭建 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 两个文件,文件内容如下

phpinfo();

?>

$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

大功告成

编译 目录 文件 软件 检查 环境 服务 脚本 命令 加密 管理 配置 成功 版本 用户 路径 输入 二进制 同时 拷贝 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无锡互联网软件开发公司 p2p软件开发工程师招聘 湛江应用软件开发方案 山西在线网络技术服务选择 动态桌面壁纸软件开发 软件测试自学学什么软件开发 网络安全政治学习心得 魂2的捏脸数据库 网络技术基本要求 江门自主可控软件开发优化价格 网鼎杯网络安全大赛闭幕 vivi手机微信无法连接服务器 软件开发企业财务制度中文完整版 0基础如何学习网络安全 数据库叙述种正确的 浙江网络安全局 北京潮流软件开发价格标准 服务器如何进行网络控制 golang并发写入数据库 软件开发的测试流程 如何按照指定参数查询服务器数据 人机与网络技术 注册页面怎么连接数据库 网络安全寄语手抄报 数据库和数据结构哪个比较简单 用流量怎么设置服务器地址 关于网络安全小儿歌 光纤传播与网络技术电子书 数据库建立需要学习什么知识 百度云虚拟服务器
0