您好,歡迎來到網暖!
?
當前位置:網暖 » 站長資訊 » 建站基礎 » 網絡技術 » 文章詳細 訂閱RssFeed

LNMP架構之Discue論壇

來源:本站原創 瀏覽:1519次 時間:2019-11-10
LNMP架構
LNMP平臺就是Linux,Nginx,MySQL,PHP的組合架構,需要Linux服務器,MySQL服務器,PHP解析環境
構成組件
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。Nginx是一個高性能的HTTP和反向代理服務器。Mysql是一個小型關系型數據庫管理系統。PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。
LAMP優勢
Nginx性能穩定、功能豐富、運維簡單、處理靜態文件速度快且消耗系統資源極少,小巧高效。
一,在Windows上將LAMP所需壓縮軟件包共享出來(此處如有問題請看之前的博客相關文章)

二,在Linux上使用遠程共享獲取文件并掛載到mnt目錄下
[[email protected] ~]# smbclient -L //192.168.100.3/   ##遠程共享訪問Enter SAMBA\root's password:                 Sharename       Type      Comment                ---------       ----      -------                LNMP-C7         Disk       [[email protected] ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt  ##掛載到/mnt目錄下
三,編譯安裝Nginx1,解壓源碼包到/opt下,并查看
[[email protected] ~]# cd /mnt    ##切換到掛載點目錄[[email protected] mnt]# lsDiscuz_X3.4_SC_UTF8.zip    nginx-1.12.2.tar.gzmysql-boost-5.7.20.tar.gz  php-7.1.20.tar.gz[[email protected] mnt]# tar zxvf nginx-1.12.2.tar.gz -C /opt   ##解壓Nginx源碼包到/opt下[[email protected] mnt]# cd /opt/    ##切換到解壓的目錄下[[email protected] opt]# lsnginx-1.12.2  rh
2,安裝編譯需要的環境組件包
[[email protected] opt]# yum -y install \gcc \                                       //c語言gcc-c++ \                        //c++語言pcre-devel \                     //pcre語言工具zlib-devel                       //數據壓縮用的函式庫
3,創建程序用戶nginx并編譯Nginx
[[email protected] opt]# useradd -M -s /sbin/nologin nginx  ##創建程序用戶,安全不可登陸狀態[[email protected] opt]# id nginxuid=1001(nginx) gid=1001(nginx) 組=1001(nginx)[[email protected] opt]# cd nginx-1.12.0/                 ##切換到nginx目錄下[[email protected] nginx-1.12.0]# ./configure \         ##配置nginx> --prefix=/usr/local/nginx \        ##安裝路徑> --user=nginx \                         ##用戶名> --group=nginx \                       ##用戶組> --with-http_stub_status_module     ##狀態統計模塊
4,編譯和安裝
[[email protected] nginx-1.12.0]# make     ##編譯...[[email protected] nginx-1.12.0]# make install   ##安裝...
5,優化nginx啟動腳本,以便于系統識別
[[email protected] nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##創建軟連接讓系統識別nginx啟動腳本[[email protected] nginx]# nginx -t       ##檢查配置文件的語法問題nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[[email protected] nginx]# nginx      ##開啟ngnix[[email protected] nginx]# netstat -ntap | grep 80     ##查看端口,nginx已經開啟tcp   0   0 0.0.0.0:80      0.0.0.0:*   LISTEN   39620/nginx: master [[email protected] nginx]# systemctl stop firewalld.service    ##關閉防火墻[[email protected] nginx]# setenforce 0 [[email protected] nginx]# nginx                         ##開啟
6,制作管理腳本,便于使用service管理使用
[[email protected] nginx]# cd /etc/init.d/   ##切換到啟動配置文件目錄[[email protected] init.d]# lsfunctions  netconsole  network  README[[email protected] init.d]# vim nginx         ##編輯啟動腳本文件#!/bin/bash# chkconfig: - 99 20                                    ##注釋信息# description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx"           ##設置變量為nginx命令文件PIDF="/usr/local/nginx/logs/nginx.pid"       ##設置變量PID文件 進程號為5346case "$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 1esacexit 0[[email protected] init.d]# chmod +x /etc/init.d/nginx    ##給啟動腳本執行權限[[email protected] init.d]# chkconfig --add nginx          ##添加到service管理器中[[email protected] init.d]# service nginx stop                ##就可以使用service控制nginx[[email protected] init.d]# service nginx start
7,或者方便systemctl管理,配置文件(為方便寫一種即可)
[[email protected] ~]# vim /lib/systemd/system/nginx.service      ##創建配置文件[Unit]Description=nginx                                            ##描述After=network.target                                        ##描述服務類型[Service]Type=forking                                                    ##后臺運行形式PIDFile=/usr/local/nginx/logs/nginx.pid            ##PID文件位置ExecStart=/usr/local/nginx/sbin/nginx              ##啟動服務ExecReload=/usr/bin/kill -s HUP $MAINPID    ##根據PID重載配置ExecStop=/usr/bin/kill -s QUIT $MAINPID       ##根據PID終止進程PrivateTmp=true[Install]WantedBy=multi-user.target[[email protected] ~]# chmod 754 /lib/systemd/system/nginx.service     ##設置執行權限[[email protected] ~]# systemctl stop nginx.service       ##關閉[[email protected] ~]# systemctl start nginx.service       ##開啟
四,編譯安裝MySQL1,安裝環境組件
[[email protected] ~]# yum install -y \     ##安裝環境組件> ncurses \> ncurese-devel \    ##控制終端屏幕顯示的庫> bison \                 ##語法分析工具> cmake                 ##cmake工具[[email protected] ~]# useradd -s /sbin/nologin mysql     ##創建程序用戶
2,解壓源碼包到/opt下
[[email protected] ~]# cd /mnt[[email protected] mnt]# tar zxvf mysql-boost-5.7.20.tar.gz -C /opt   ##解壓源碼包到/opt[[email protected] mnt]# cd /opt[[email protected] opt]# lsmysql-5.7.20  nginx-1.12.2  rh
3,cmake配置
[[email protected] opt]# cd mysql-5.7.20/       ##切換到MySQL目錄下[[email protected] mysql-5.7.20]# cmake \     ##cmake配置-DCMAKE_INSTALL_PREFIX=/usr/localmysql \            ##安裝路徑-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ ##定義sock文件連接數據庫文件-DSYSCONFDIR=/etc \                                                   ##配置文件目錄-DSYSTEMD_PID_DIR=/usr/local/mysql \                      ##PID文件目錄-DDEFAULT_CHARSET=utf8 \                                       ##指定字符集-DDEFAULT_COLLATION=utf8_general_ci \                 ##指定字符集默認-DWITH_INNOBASE_STORAGE_ENGINE=1 \            ##存儲引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \                 ##數據庫數據文件目錄-DWITH_BOOST=boost \                                               ##底層運行庫-DWITH_SYSTEMD=1                                                   ##主從參數>
4,編譯及安裝
[[email protected] mysql-5.7.20]# make          ##編譯[[email protected] mysql-5.7.20]# make install    ##安裝
5,配置mysql,調整配置文件
[[email protected] mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/   ##數據庫目錄進行權限調整[[email protected] mysql-5.7.20]# vim /etc/my.cnf     ##調整配置文件[client]                            ##客戶端port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysql]                           ##客戶端     port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysqld]                         ##服務器        user = mysql                  ##用戶basedir = /usr/local/mysql      ##設置mysql的安裝目錄datadir = /usr/local/mysql/data    ##設置mysql數據庫的數據的存放目錄port = 3306                    ##設置3306端口character_set_server=utf8            ##中文字符集pid-file = /usr/local/mysql/mysqld.pid     ##pid文件路徑socket = /usr/local/mysql/mysql.sock     ##sock文件路徑server-id = 1                                           ##主從參數sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES##支持模塊>[[email protected] mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile##將MySQL寫到本地環境配置中[[email protected] mysql-5.7.20]# echo 'export PATH' >> /etc/profile    ##設置全局環境配置[[email protected] mysql-5.7.20]# source /etc/profile    ##重啟配置文件
6,初始化數據庫
[[email protected] mysql-5.7.20]# cd /usr/local/mysql/[[email protected] mysql]# bin/mysqld \> --initialize-insecure \        ##初始化> --user=mysql \                 ##用戶> --basedir=/usr/local/mysql \      ##安裝目錄> --datadir=/usr/local/mysql/data   ##數據庫數據文件目錄
7,將MySQL服務配置文件復制到/usr/lib/systemd/system/下便于使用systemctl管理
[[email protected] mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ ##便于systemctl管理[[email protected] mysql]# systemctl enable mysqld   ##開機自啟動[[email protected] mysql]# systemctl start mysqld.service     ##開啟數據庫[[email protected] mysql]# netstat -ntap | grep 3306              ##查看MySQL端口號開啟情況tcp6  0  0 :::3306    :::*       LISTEN   59464/mysqld   
8,設置MySQL密碼
[[email protected] mysql]# mysqladmin -u root -p passwordEnter password:               ##空格New password:                ##新密碼Confirm new password:   ##確認密碼
五,編譯安裝PHP1,安裝環境依賴包
[[email protected] mysql]# yum install -y \> libjpeg \                              ##jpeg圖片格式和開發包> libjpeg-devel \> libpng libpng-devel \           ##png圖片和開發包> freetype freetype-devel \    ##字體庫> libxml2 \                              ##xml文件庫> libxml2-devel \> zlib zlib-devel \                    ##壓縮庫 > curl curl-devel \                   ##支持數據文件下載工具> openssl openssl-devel        ##安全訪問連接
2,解壓源碼包到/opt
[[email protected] mysql]# cd /mnt     ##切換到掛載點[[email protected] mnt]# tar jxvf php-7.1.10.tar.bz2 -C /opt     ##解壓源碼包到/opt[[email protected] mnt]# cd /opt[[email protected] opt]# ls       ##查看mysql-5.7.20  nginx-1.12.2  php-7.1.10  rh
3,配置PHP
[[email protected] opt]# cd php-7.1.10/[[email protected] php-7.1.10]# ./configure --prefix=/usr/local/php                        ##安裝路徑--with-mysql-sock=/usr/local/mysql/mysql.sock   ##連接文件建立通信橋梁--with-mysqli                                    ##客戶端支持庫--with-zlib                                         ##壓縮--with-curl                                        ##支持上傳下載功能--with-gd                                          ##gd圖像支持圖片處理庫--with-jpeg-dir                                  ##jpeg--with-png-dir                                   ##png--with-freetype-dir                            ##字體--with-openssl                                  ##安全訪問連接--enable-fpm                                    ##fpm支持動態請求模塊--enable-mbstring                            ##支持多字節的字符串--enable-xml                                    ##xml文件--enable-session                             ##session支持會話--enable-ftp                                     ##ftp服務--enable-pdo                                   ##驅動連接管理--enable-tokenizer                          ##PHP自帶函數--enable-zip                                    ##zip壓縮包
4,編譯及安裝
[[email protected] php-7.1.10]# make ##編譯[[email protected] php-7.1.10]# make install ##安裝
5,配置核心配置文件(php.ini核心配置文件,php-fpm.conf進程服務配置文件,www.conf擴展配置文件 )
[[email protected] php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini   ##復制到安裝目錄lib庫中[[email protected] php-7.1.10]# vim /usr/local/php/lib/php.ini   ##配置核心配置文件mysqli.default_socket = /usr/local/mysql/mysql.sock     ##默認連接文件date.timezone = Asia/Shanghai                                      ##時間[[email protected] php-7.1.10]# /usr/local/php/bin/php -m   ##驗證安裝的模塊
6,配置及優化FPM模塊
[[email protected] php-7.1.10]# cd /usr/local/php/etc/[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf   ##優化復制默認進程服務配置文件[[email protected] etc]# cd /usr/local/php/etc/php-fpm.d/[[email protected] php-fpm.d]# cp www.conf.default www.conf   ##優化復制擴展配置文件[[email protected] php-fpm.d]# cd /usr/local/php/etc/  [[email protected] etc]# vim php-fpm.conf      ##開啟fpm.pid進程pid = run/php-fpm.pid[[email protected] etc]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini[[email protected] etc]# netstat -ntap | grep 9000     ##查看端口信息tcp   0 0 127.0.0.1:9000   0.0.0.0:*    LISTEN   69104/php-fpm: mast [[email protected] etc]# ln -s /usr/local/php/bin/* /usr/local/bin/   ##創建軟連接便于系統識別[[email protected] etc]# ps aux | grep -c "php-fpm"4
7,讓Nginx支持PHP功能
[[email protected] etc]# vim /usr/local/nginx/conf/nginx.conf    ##配置nginx配置文件    location ~ \.php$ {        root           html;        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;   ##站點路徑        include        fastcgi_params;    }       [[email protected] etc]# vim /usr/local/nginx/html/index.php               ##測試php網頁<?phpphpinfo();?>

8,進入數據庫創建bbs數據庫并設置管理員和密碼
[[email protected] etc]# mysql -u root -pEnter password:      ##進入數據庫,密碼為之前設定的abc23mysql> CREATE DATABASE BBS;   ##創建bbs數據庫Query OK, 1 row affected (0.00 sec)mysql> GRANT all ON bbs.* TO 'bbsusers'@'%' IDENTIFIED BY 'admin123';  ##提權數據庫用戶bbsuser為管理員并設定密碼Query OK, 0 rows affected, 1 warning (0.00 sec)       mysql> GRANT all ON bbs.* TO 'bbsusers'@'localhost' IDENTIFIED BY 'admin123';Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;         ##刷新數據庫Query OK, 0 rows affected (0.00 sec)mysql> quit       ##退出[[email protected] etc]# vim /usr/local/nginx/html/index.php   ##測試數據庫連接狀態<?php$link=mysqli_connect('192.168.13.130','bbsusers','admin123');if($link) echo "<h1>Success!</h1>";else echo "Fail!!";?>[[email protected] etc]# systemctl restart nginx.service     ##重啟服務

六,安裝Discuz論壇壓縮包1,解壓縮壓縮包到/opt下,并將目錄內容復制到bbs站點中
[[email protected] etc]# cd /mnt                      [[email protected] mnt]# unzip  Discuz_X3.4_SC_UTF8.zip -d /opt    ##解壓到/opt下[[email protected] mnt]# cd /opt[[email protected] opt]# lsdir_SC_UTF8  mysql-5.7.20  nginx-1.12.2  php-7.1.10  rh  說明.htm[[email protected] opt]# cd dir_SC_UTF8/          ##進入論壇目錄[[email protected] dir_SC_UTF8]# cp -r upload/ /usr/local/nginx/html/bbs/     ##復制/opt目錄里的內容到html站點的bbs目錄中
2,進入站點并給程序用戶提權
[[email protected] dir_SC_UTF8]# cd /usr/local/nginx/html/bbs/    ##進入bbs站點目錄[[email protected] bbs]# chown -R root:nginx ./config/                   ##為程序用戶提權[[email protected] bbs]# chown -R root:nginx ./data/                     ##修改屬組[[email protected] bbs]# chown -R root:nginx ./uc_client/[[email protected] bbs]# chown -R root:nginx ./uc_server/[[email protected] bbs]# chmod -R 777 ./config/                            ##修改全部權限[[email protected] bbs]# chmod -R 777 ./data/[[email protected] bbs]# chmod -R 777 ./uc_client/[[email protected] bbs]# chmod -R 777 ./uc_server/
3,訪問192.168.235.137/bbs站點,安裝Discuz論壇

4,設置運行環境為全新安裝

5,安裝數據庫
數據服務器:192.168.13.130(此處輸入創建數據庫主機的IP)數據庫名:bbs數據庫用戶名:bbsusers(用戶名可在命令行修改)數據庫密碼:admin123(密碼可在命令行修改)管理員賬號:admin(該賬號為默認)密碼:123123(密碼可直接在網頁設定)

七,成功搭建并訪問論壇

謝謝閱讀!!!

推薦站點

  • 騰訊騰訊

    騰訊網(www.QQ.com)是中國瀏覽量最大的中文門戶網站,是騰訊公司推出的集新聞信息、互動社區、娛樂產品和基礎服務為一體的大型綜合門戶網站。騰訊網服務于全球華人用戶,致力成為最具傳播力和互動性,權威、主流、時尚的互聯網媒體平臺。通過強大的實時新聞和全面深入的信息資訊服務,為中國數以億計的互聯網用戶提供富有創意的網上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐網是全球最大的中文門戶網站,為用戶提供24小時不間斷的最新資訊,及搜索、郵件等網絡服務。內容包括全球熱點事件、突發新聞、時事評論、熱播影視劇、體育賽事、行業動態、生活服務信息,以及論壇、博客、微博、我的搜狐等互動空間。

    www.sohu.com
  • 網易網易

    網易是中國領先的互聯網技術公司,為用戶提供免費郵箱、游戲、搜索引擎服務,開設新聞、娛樂、體育等30多個內容頻道,及博客、視頻、論壇等互動交流,網聚人的力量。

    www.163.com
  • 新浪新浪

    新浪網為全球用戶24小時提供全面及時的中文資訊,內容覆蓋國內外突發新聞事件、體壇賽事、娛樂時尚、產業資訊、實用信息等,設有新聞、體育、娛樂、財經、科技、房產、汽車等30多個內容頻道,同時開設博客、視頻、論壇等自由互動交流空間。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com
?
快乐甜品彩金 大乐透2000期走势图 淘宝快3那里玩 青海11选5电子图 重庆时时采彩开奖统计 大乐透历史开奖2007至今 广西11选5开奖记录 洗衣店经营2年没有赚钱吗 五星双胆可以赚钱吗 内蒙古11选5最高遗漏 查7星彩开奖结果查询 彩票app源码 mg线上娱乐平台 股票融资概念 领航pk10计划准吗 湖北快三基本走势图 江西快3规则