1. 程式人生 > >LNMP網站服務器部署

LNMP網站服務器部署

desc clu nal CI root linu index.php flush shadow

LNMP是目前應用最為廣泛的網站服務器架構,Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等,Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器,Mysql是一個小型關系型數據庫管理系統,PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。這四種軟件均為免費開源軟件,組合到一起,成為一個免費、高效、擴展性強的網站服務系統。

系統環境:

  • rhel 6.5 操作系統
  • 服務器IP地址:192.168.100.5
  • 客戶機IP地址:192.168.100.30 (與服務器同網段並能夠互聯互通)
  • LNMP軟件包 百度下載 密碼:j892

實現目標:

  1. 安裝Nginx服務器
  2. 安裝Mysql數據庫
  3. 安裝PHP
  4. 部署Discuz論壇

開始部署

一. 安裝Nginx服務器

1.安裝依賴包

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.新建nginx管理用戶

useradd -M -s /sbin/nologin nginx

3.解壓

tar xzvf nginx-1.6.0.tar.gz -C /opt

4.配置

cd /opt/nginx-1.6.0/

./configure \
--prefix=/usr/local/nginx \
--user=nginx \

--group=nginx \
--with-http_stub_status_module #開啟stub_status狀態統計模塊

5.編譯及安裝

make && make install

6.建立nginx鏈接,便於系統管理

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

########### nginx管理命令 ###########

nginx -t #nginx配置文件檢查
nginx #啟動
killall -1 nginx #重啟nginx
killall -3 nginx #停止nginx

######################################

7.生成nginx管理腳本

vi /etc/init.d/nginx

#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/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

8.nginx賦予執行權限

chmod +x /etc/init.d/nginx

9.nginx加入系統服務管理

chkconfig --add nginx

10.啟動nginx

service nginx start

11.測試

技術分享圖片


二. 安裝Mysql數據庫

1. 安裝支持軟件包

yum -y install ncurses-devel gcc gcc-c++ cmake              

2. 解壓

tar xzvf mysql-5.5.24.tar.gz -C /opt

3. 進入mysql安裝包目錄

cd /opt/mysql-5.5.24

4. 配置

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/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-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

5. 編譯及安裝

make && make install

6. 復制mysql配置文件及啟動腳本至相應目錄

cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

7. mysqld賦予執行權限

chmod +x /etc/init.d/mysqld

8. 將mysqld加入系統管理

chkconfig mysqld on
service mysqld start

9. 將mysql添加至環境變量中

echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
. /etc/profile      #更新環境變量

10. 添加mysql管理用戶

useradd -s /sbin/nologin mysql

11. 修改mysql的用戶及用戶組

chown -R mysql.mysql /usr/local/mysql

12. 導入mysql默認數據庫

> /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

13. 建立mysql.sock鏈接

ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock

14. 編輯mysqld啟動腳本

vim /etc/init.d/mysqld

#修改以下路徑
basedir=/usr/local/mysql
datadir=/home/mysql

15. 重啟mysqld服務

service mysqld restart

mysql測試

技術分享圖片


三. 安裝PHP

1. 首先安裝GD庫及GD庫關聯程序

yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel fontconfig-devel openssl-devel bzip2-devel

2. 解壓

tar -jxvf php-5.4.5.tar.bz2 -C /opt

3. 進入php目錄

cd /opt/php-5.4.5/

4. 配置

./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

5. 編譯及安裝

make && make install

6. 復制php模板配置文件

cp php.ini-development /usr/local/php5/php.ini

7. 建立php執行文件的鏈接至系統目錄下,便於執行

ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/

8. PHP安裝加速器

#解壓軟件包
tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt
#進入ZG目錄下
cd /opt/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
#復制ZendGuardLoader.so至php
cp ZendGuardLoader.so /usr/local/php5/lib/php/

9. 配置PHP識別加速器

vim /usr/local/php5/php.ini

#結尾處添加以下三行數據
[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

10. 開啟nginx的PHP支持

#進入php的etc目錄下
cd /usr/local/php5/etc/
#創建php-fpm.conf文件
cp php-fpm.conf.default php-fpm.conf
#創建php用戶
useradd -M -s /sbin/nologin php

vi php-fpm.conf #修改

pid = run/php-fpm.pid #25行
user = php #140行
group = php #141行
pm.max_children=50 #217行
pm.start_servers = 20 #222行
pm.min_spare_servers = 5 #227行
pm.max_spare_servers = 35 #232行

11. 查看9000端口服務

netstat -tnal | grep 9000

12. 讓nginx支持PHP功能

vi /usr/local/nginx/conf/nginx.conf

location ~ .php$ {
root /var/www/php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}

創建站點目錄

mkdir -p /var/www/php

13. 新建站點首頁文件

vim /var/www/php/index.php

#php配置頁
<?php phpinfo(); ?>

14. 重啟nginx

service nginx restart

測試:http:#192.168.100.5/index.php

技術分享圖片

四. 部署Discuz論壇

1. mysql數據庫管理

#登錄mysql
mysql -u root

#創建bbs數據庫
mysql> CREATE DATABASE bbs;

#把bbs數據庫裏面所有表的權限授予給bbsuser,並設置密碼
mysql> GRANT all ON bbs.* TO ‘bbsuser‘@‘%‘ IDENTIFIED BY ‘admin123‘;

#刷新數據庫
mysql>flush privileges;

2. 新建mysql測試網頁

vi /var/www/php/index.php

<?php
$link=mysql_connect(‘192.168.100.5‘,‘bbsuser‘,‘admin123‘);
if($link) echo "Success!!";
else echo "Fail!!";
mysql_close();
?>

通過客戶端測試如下圖即成功
技術分享圖片

3. 解壓discuz論壇

unzip Discuz_X2.5_SC_UTF8.zip -d /opt/discuz

4. 進入dis目錄

cd /opt/discuz

5. 將upload文件復制到web站點目錄下

cp -r upload/ /var/www/php/bbs

6. 給文件夾修改屬主

> chown -R php ./config
chown -R php ./data
chown -R php ./uc_client
chown -R php ./uc_server/data

7. 客戶端通過http:192.168.100.5/bbs/install/index.php訪問完成discuz論壇完成安裝

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

LNMP網站服務器部署