您好,登錄后才能下訂單哦!
搭建 LAMP 環(huán)境
一、環(huán)境介紹
二、必裝依賴(lài)軟件
三、編譯安裝 Nginx-1.6.3
四、二進(jìn)制安裝 MYSQL-5.5.33
五、編譯安裝 PHP-5.3.27
六、檢測(cè) nginx與mysql nginx與php 是否相連
一、環(huán)境介紹
搭建這個(gè)環(huán)境,所有服務(wù)都安裝在一臺(tái)虛擬機(jī)中,在此介紹一下我的虛擬機(jī)
CentOS-6.7-x86_64 保證虛擬機(jī)可以正常上網(wǎng)
IP:192.168.6.36
hostname:yuci
關(guān)閉 iptbales selinux
二、必裝依賴(lài)軟件
全部通過(guò) yum 安裝
lrzsz # 軟件和此環(huán)境沒(méi)有什么關(guān)系。安裝后可以通過(guò)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
創(chuàng)建一個(gè)專(zhuān)門(mén)用于存放軟件包的目錄
mkdir -p /home/yuci/tools
創(chuàng)建 nginx 用戶(hù),并檢查
useradd -s /sbin/nologin/ -M nginx
id nginx
解壓 nginx 壓縮包(安裝過(guò) lrzsz ,所以可直接拖拽軟件的該目錄)
tar zxf nginx-1.6.3.tar.gz
開(kāi)始編譯安裝 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
創(chuàng)建一個(gè)軟連接,保留軟件版本的同時(shí)方便操作
ln -s /application/nginx-1.6.3/ /application/nginx
啟動(dòng) nginx 服務(wù)
/application/nginx/sbin/nginx
瀏覽器輸入IP地址,nginx 搭建成功
四、二進(jìn)制安裝 MYSQL-5.5.33
解壓 mysql 安裝包
tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz
切到 /application 目錄,lamp 環(huán)境中的所有服務(wù)都將安裝到此目錄中,方便管理
將 mysql 移動(dòng)到 /application 目錄中,并保留 mysql 版本號(hào)
mv /home/yuci/tools/mysql-5.5.33-linux2.6-x86_64 ./mysql-5.5.33
為 mysql 創(chuàng)建軟連接,方便管理
ln -s /application/mysql-5.5.33/ /application/mysql
創(chuàng)建 mysql 用戶(hù)
useradd -s /sbin/nologin/ -M mysql
id mysql
初始化 mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
授權(quán) mysql ,將其屬主屬組改為 mysql 用戶(hù)
chown -R mysql:mysql /application/mysql
拷貝 mysql 配置文件,選取 small 就好
cp support-files/my-small.cnf /etc/my.cnf
修改 mysql 的啟動(dòng)腳本 mysqld_safe,因?yàn)?mysql 的默認(rèn)安裝路徑在 /usr/local/mysql,但現(xiàn)在 mysql 在 /application 目錄中,所以通過(guò) sed 命令更改
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
啟動(dòng) mysql ,通過(guò)啟動(dòng)腳本 mysql_safe,并放入后臺(tái)執(zhí)行
/application/mysql/bin/mysqld_safe &
通過(guò)端口檢查 mysql 是否啟動(dòng)
lsof -i :3306
每次通過(guò) mysqld_safe 啟動(dòng)比較麻煩,所以配置變量,通過(guò)修改 /etc/profile 實(shí)現(xiàn)即可
vim /etc/profile
PATH="/application/mysql/bin:$PATH"
source /etc/profile # 刷新生效
拷貝 mysql 啟動(dòng)腳本,重命名為 mysqld 。
替換 mysql 啟動(dòng)腳本中的路徑,將/usr/local/mysql 替換為 /application/mysql。
給 mysqld 這個(gè)腳本增加執(zhí)行權(quán)限
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 命令殺死正在運(yùn)行的 mysql 服務(wù),重復(fù)殺,直到出現(xiàn) mysqld: no process killed 的提示
killall mysqld
啟動(dòng) mysql,并檢查
/etc/init.d/mysqld start
將 mysql 設(shè)為開(kāi)機(jī)啟動(dòng)
chkconfig mysqld on
設(shè)置 mysql 的 root 密碼為 123456,并登陸 mysql
mysqladmin -uroot password "123456"
mysql -uroot -p123456
五、編譯安裝 PHP-5.3.27
安裝 PHP 太麻煩,先確定一下流程吧
1)確認(rèn)nginx ,mysql服務(wù)已經(jīng)啟動(dòng)
2)通過(guò) yum 安裝
freetype-devel
libjpeg-devel # 因?yàn)榘姹旧?jí)的問(wèn)題,yum 執(zhí)行安裝時(shí)是 libjpeg-devel ,但實(shí)際安裝的是 libjpeg-turbo-devel
libpng-devel
gd
gd-devel
libcurl-devel
libxslt-devel
3)編譯安裝 libiconv-1.14 介個(gè)軟件,因?yàn)樗鼰o(wú)法通過(guò) yum 成功安裝
4)通過(guò) wget 新下載一個(gè) epel 源
5)安裝 libmcrypt libmcrypt-devel 包
6)安裝 mhash 加密擴(kuò)展庫(kù)
7)安裝 mcrypt 加密擴(kuò)展庫(kù)
8)編譯安裝 PHP-5.3.7
1)
在安裝 PHP 之前首先應(yīng)該確認(rèn)一下 nginx與mysql 服務(wù)都已經(jīng)啟動(dòng)
lsof -i :80
lsof -i :3306
2)
安裝php需要的各種lib庫(kù)文件,其中安裝 gd-devel 時(shí)安裝失敗,同時(shí)安裝 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,這個(gè)軟件無(wú)法通過(guò) yum 安裝,只能編譯安裝了
解壓軟件 -> 切到其目錄中 -> 執(zhí)行命令,編譯安裝
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv && make && make install
4)
安裝 epel 源,因?yàn)楹竺孢€要安裝的 libmcrypt 庫(kù)。介個(gè)庫(kù)離不開(kāi)介個(gè)源
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 加密擴(kuò)展庫(kù),并檢查
yum -y install mhash mhash-devel
rpm -qa mhash mhash-devel
7)
安裝 mcrypt 加密擴(kuò)展庫(kù),并檢查
yum -y install mcrypt
rpm -qa mcrypt
8)
編譯安裝 PHP-5.3.7,將 php 的安裝包放到規(guī)定的 /home/yuci/tools 目錄中
tar zxf php-5.3.27.tar.gz
cd php-5.3.27
創(chuàng)建文件,不創(chuàng)建 PHP 編譯中會(huì)報(bào)錯(cuò)
touch ext/phar/phar.phar
創(chuàng)建一個(gè)軟連接文件
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
正式編譯安裝 PHP, 編譯路徑如下, PHP 目錄下執(zhí)行即可
./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
看到以下畫(huà)面,說(shuō)明安裝成功,繼續(xù)操作
給 php 創(chuàng)建一個(gè)軟連接
ln -s /application/php5.3.27/ /application/php
配置 PHP 解析文件,php.ini
ls -l php.ini*
將配置文件復(fù)制到 php 安裝目錄,并改名為 php.ini
cp php.ini-production /application/php/lib/php.ini
php進(jìn)程管理文件生效(php-fpm.conf 進(jìn)程管理)
cp php-fpm.conf.default php-fpm.conf
啟動(dòng) php-fpm,檢查是否啟動(dòng),查看 php-fpm 端口
/application/php/sbin/php-fpm
ps -ef | grep php-fpm
ss -lntup | grep php-fpm
六、編輯 nginx.conf 文件
將文件過(guò)濾,看著也方便,編輯如下
cd /application/nginx/conf
egrep -v "#|^$" nginx.conf.default > nginx.conf
檢測(cè) nginx與mysql nginx與php 是否相連
在此目錄下分別創(chuàng)建 phpinifo.php,mysql.php 兩個(gè)文件,文件內(nèi)容如下
<?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();
}
?>
檢查語(yǔ)法,平滑加載
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
瀏覽器中分別輸入
192.168.6.36/phpinfo.php
192.168.6.36/mysql.php
大功告成
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。