目錄
定義
原理圖:
一.資料庫的編譯
1.編譯程序
2.配置以及初始化
二.php編譯
1.編譯
2.配置
1.開機自啟動
?
2.組態檔復制,pid檔案生效
3. 時區的配置
4. 啟動php
三.nginx與php結合
nginx組態檔的編輯
三.phpmyadmin與mysql,php,可視化資料庫
四.memcache高速快取
定義
LNMP:Linux系統下Nginx+MySQL+PHP這種網站服務器架構,Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器,Mysql是一個小型關系型資料庫管理系統,PHP是一種在服務器端執行的嵌入HTML檔案的腳本語言,
原理圖:

在七層負載做好的基礎下nginx已經編譯好了,我們接著需要編譯資料庫,還有php
一.資料庫的編譯
1.編譯程序
原始碼解壓,進入解壓生成目錄
tar zxf mysql-boost-5.7.31.tar.gz
cd mysql-5.7.31/
開始生成編譯生成策略檔案
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_EXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_unicode_ci
-DWITH_BOOST=boost/boost_1_59_0
根據提示進行軟體下載
具體
cmake gcc-c++ gcc-c++ bison
下載完成在最后編譯前
rm -fr CMakeCache.txt
重新生成編譯生成策略檔案編譯
make -j加數字 對編譯進行加速 時間比較長,等候
make install 安裝
2.配置以及初始化
復制如下圖二進制檔案到
cp mysql.server腳本檔案 /etc/init.d/mysqld

建立mysql用戶,建立/data/mysql目錄
useradd -M -d /data/mysql -s /sbin/nologin mysql
mkdir -p /data/mysql
chown mysql.mysql /data/mysql
配備用戶及變數
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
which mysql
/usr/local/mysql/bin/mysql
編輯/etc/my.cnf 注意路徑一定要對
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
初始化mysql,開啟mysql
mysqld --initialize --user=mysql
/etc/init.d/mysqld start 啟動資料庫
Starting MySQL. SUCCESS!
一定要按順尋
若錯了,無法初始化,需要將mysql備份 mv mysql mysql.back
重新初始化

查看日志
cat /data/mysql/mysqld.log | grep passwd
然后據密碼登入本地資料庫
修改密碼
mysql_secure_installation
第一個yes|no不要答 用enter
然后登入入資料庫

二.php編譯
1.編譯
下載原始碼,解壓
wget https://www.php.net/distributions/php-7.4.12.tar.bz2
tar jxf php-7.4.12.tar.bz2
切換到生成目錄下

報錯

重新解壓成功

./configure --prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--enable-fpm --with-fpm-user=nginx
--with-fpm-group=nginx
--with-curl
--with-iconv
--with-mhash
--with-zlib
--with-openssl
--enable-mysqlnd
--with-mysqli
--with-pdo-mysql
--disable-debug
--enable-sockets
--enable-soap
--enable-inline-optimization
--enable-xml
--enable-ftp
--enable-gd
--enable-exif
--enable-mbstring
--enable-bcmath
--with-fpm-systemd
根據提醒下載依賴包
yum install -y systemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel
如圖 ogiguruma鏡像中沒有要安裝


yum install oniguruma-devel-6.8.2-1.el7.x86_64.rpm oniguruma-6.8.2-1.el7.x86_64.rpm -y
再次./configure 加策略,make(需要一段時間),make install

make

make install

2.配置
1.開機自啟動
cp php-fpm.service /usr/lib/systemd/system
systemctl daemon-reload

21行注釋掉 當這個值為ture php-fpm以只讀掛載在/usr目錄,只有注釋或者改為false,行程才能啟動
2.組態檔復制,pid檔案生效


3. 時區的配置


4. 啟動php

三.nginx與php結合
nginx組態檔的編輯
vim /usr/local/nginx/conf/nginx.conf
把運行.php的模塊打開

編輯Nginx默認發布目錄

重啟nginx服務
測驗 上面的反代理 westos注釋掉
firefox:172.25.7.1/index.php

默認目錄修改,一定要寫在其他檔案前

firefox:172.25.7.1

三.phpmyadmin與mysql,php可視化資料庫

官網下載
weget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
解壓到nginx的發布目錄中,改名mv phpMyAdmin-5.0.2-all-languages myadmin
編輯組態檔 index.php發布目錄,重啟服務

編輯php.in
pdo_mysql.default_socket=/data/mysql/mysql.sock
mysqli.default_socket =/data/mysql/mysql.sock

chmod 755 /data/mysql
重啟服務登陸
四.memcache高速快取

在主機上作并發2000次,有資料丟失
下載phpize
phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊, 

[root@server1 memcache-4.0.5.2]# ./configure --enable-memache
make && make install
模塊添加完成
[root@server1 memcache-4.0.5.2]# vim /usr/local/php/etc/php.ini
[root@server1 memcache-4.0.5.2]# systemctl reload php-fpm

復制發布目錄,下載memached,開啟他


修改發布目錄,密碼,主機

[root@server1 html]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
重啟服務,登陸
http://172.25.7.1/memcache.php

資料無丟失,速度加快 
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/387849.html
標籤:其他
上一篇:Gavin老師Transformer直播課感悟 - 基于Transformer的Poly-Encoder架構體系解密(三)

