D-47網站服務架構部署(LNMP)

一、LNMP架構說明

LNMT: linux nginx mysql tomcat
LNMP: linux nginx mysql php/python
LAMP: linux apache mysql php
作用: 可以使用架構處理動態(tài)訪問請求

二、LNMP架構部署過程

Linux :

  1. 系統(tǒng)安全服務需要關閉 selinux iptables
  2. 確認系統(tǒng)/tmp目錄權限 1777

nginx :

  1. 安裝yum官方源nginx程序

mysql/mariadb:

  1. 安裝部署maraidb
    # 下載安裝數據庫程序軟件
    yum install mariadb-server mariadb -y
    # 啟動數據庫程序服務進程
    systemctl start mariadb.service
    systemctl enable mariadb.service
    啟動服務異常: 無法啟動服務
    原因: 服務配置文件不正確
    cp /usr/share/mysql/my-small.cnf /etc/my.cnf

數據庫特殊的管理命令

SQL語句(庫 -- 表 -- 列/行(字段-數據信息))
show databases; --- 查看所有數據庫信息
use 數據庫名稱; --- 切換數據庫
show tables; --- 查看庫中所有表信息
select * from user;--- 查看表中的數據信息

數據庫服務設置登錄密碼信息

mysqladmin -uroot password "oldboy123" --- 設置密碼或者修改密碼
mysql -uroot -poldboy123 ---登陸

php: 解析動態(tài)請求的服務

PHP服務部署 http://php.net/
# 解決yum安裝軟件沖突問題
yum remove php-mysql php php-fpm php-common
# 準備yum安裝軟件擴展源信息
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
更新yum源之后,新生成的文件信息:
webtatic-archive.repo/webtatic.repo/webtatic-testing.repo
epel.repo.rpmnew/epel-testing.repo
# 利用yum安裝PHP相關軟件信息
yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
# 修改php服務進程管理用戶信息(建議修改的用戶和nginx worker進程用戶一致)
vim /etc/php-fpm.d/www.conf
8 user = nginx
10 group = nginx
# 啟動運行php-fpm程序

三、LNMP架構工作原理

參見圖示


image.png

四、LNMP架構配置過程

第一個歷程: 建立nginx--php通訊過程
編寫nginx配置
server {
listen 80;
server_name blog.oldboy.com;
location / {
root /html/blog;
index index.php index.html;
}
location ~ .php{ root /html/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAMEdocument_rootfastcgi_script_name; include fastcgi_params; } }document_root:代表站點目錄
$fastcgi_script_name:代表站點目錄下的數據信息
SCRIPT_FILENAME:代表設定統(tǒng)一的變量信息
include fastcgi_params:翻譯設定的變量文件

image.png

  1. 進行動態(tài)訪問測試
    vim test_phpinfo.php
    <?php
    phpinfo();
    ?>

第二個歷程: php + mariadb建立聯(lián)系 編寫代碼信息

vim test_mysql.php
<?php
     $servername = "localhost";
     $username = "root";
     $password = "oldboy123";
     //$link_id=mysql_connect('主機名','用戶','密碼');
     //mysql -u用戶 -p密碼 -h 主機
     $conn = mysqli_connect($servername, $username, $password);
     if ($conn) {
           echo "mysql successful by root !\n";
        }else{
           die("Connection failed: " . mysqli_connect_error());
        }
    ?>

五、部署搭建動態(tài)網站頁面

第一個歷程: 下載獲取動態(tài)網站代碼信息
博客網站開源代碼: wordpress --- blog.oldboy.com
代碼下載地址: https://cn.wordpress.org/download/
論壇網站開源代碼: discuz --- bbs.oldboy.com
代碼下載地址: https://www.discuz.net/thread-3796882-1-1.html
官方網站開源代碼: dedecms/phpcms --- www.oldboy.com
phpcms http://www.phpcms.cn/html/download/phpcms/#content
dedecms
知乎網站開源代碼: wecenter --- zhihu.oldboy.com

第二個歷程: 將代碼信息進行上傳/修改代碼文件權限
chown -R www.www /html/blog/

第三個歷程: 進行網站頁面初始化/和網站數據庫服務建立連接
創(chuàng)建數據庫信息:
create database wordpress;

創(chuàng)建管理數據庫用戶信息:
grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
select user,host from mysql.user;

ps:在設置主題時,當主題大小超過1m時,出現報錯,此時需要在主配置文件/etc/nginx/nginx.conf中的http模塊內加入client_max_body_size 10m;此代碼

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容