php web server部署(PHP+Nginx+Redis+MySQL)
1. 運(yùn)行環(huán)境和軟件準(zhǔn)備
操作系統(tǒng):Windows10_x64
數(shù)據(jù)庫(kù):mysql-5.7.17-winx64.msi
Redis:Redis-x64-3.2.100.msi
PHP:php-7.3.9-Win32-VC15-x64.zip
PHP插件模塊:php_igbinary-2.0.8-7.3-ts-vc15-x64.zip
PHP插件模塊:php_redis-4.2.0-7.3-ts-vc15-x64.zip
服務(wù)器:nginx-1.18.0.zip
例子工程:https://e.coding.net/ersu/supply_chain/supply_chain.git
2. MySQL部署
安裝略。
針對(duì)例子工程進(jìn)行用戶(hù)、數(shù)據(jù)庫(kù)、表的創(chuàng)建
先用root用戶(hù)登錄MySQL
--創(chuàng)建用戶(hù) CREATE USER 'admin'@localhost IDENTIFIED BY 'admin'; --創(chuàng)建數(shù)據(jù)庫(kù) CREATE DATABASE IF NOT EXISTS supply_chain CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; --用戶(hù)授權(quán) grant all privileges on supply_chain.* to admin@localhost identified by 'admin'; --刷新授權(quán) flush privileges;用剛創(chuàng)建的admin用戶(hù)登錄MySQL
--切換數(shù)據(jù)庫(kù) use supply_chain --建表 CREATE TABLE `users` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(100) DEFAULT NULL,`ip` varchar(50) DEFAULT NULL,`profit` int(11) DEFAULT '0',`created_at` datetime DEFAULT NULL,`updated_at` datetime DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;3. Redis部署
Redis-x64-3.2.100.msi文件雙擊打開(kāi)一路Next。安裝完成后,進(jìn)入到安裝目錄下,帶參數(shù)(配置文件名)運(yùn)行redis-server.exe就可以了。卻省的綁定端口是6379。
D:\Redis>redis-server.exe redis.windows.conf [18320] 12 Mar 10:47:33.307 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No errorD:\Redis>4. 安裝Nginx
可以參考《Windows上部署Ngnix》
先直接解壓,然后運(yùn)行ngnix.exe反向代理服務(wù)程序:
此時(shí)在瀏覽器地址欄中輸入http://localhost可以看到ngnix的歡迎頁(yè)面。
然后修改ngnix.conf配置文件
這一步可以只改標(biāo)注紅色1的內(nèi)容,用于等步驟5完成后查看PHP信息(在nginx-1.18.0/html/目錄下創(chuàng)建文件index.php,內(nèi)容如下);標(biāo)注紅色2的內(nèi)容可以等到部署完應(yīng)用后再改。
5. PHP部署
先附上PHP官網(wǎng),注意PHP分為“線(xiàn)程安全(thread safe,簡(jiǎn)稱(chēng)ts)”版和“非線(xiàn)程安全”(none thread safe,簡(jiǎn)稱(chēng)nts)版,本文用的是ts版。
下載php-7.3.9-Win32-VC15-x64.zip后,將php安裝文件解壓,然后進(jìn)入安裝目錄,將php.ini-development復(fù)制一份更名為php.ini
修改配置文件php.ini:
;extension_dir = “ext” 改為 extension_dir = “ext” (去掉注釋)
enable_dl = Off 改為 enable_dl = On (Off改成On)
;cgi.force_redirect = 1 改為 cgi.force_redirect = 0 (去掉注釋并將1改成0)
;cgi.fix_pathinfo=1 改為 cgi.fix_pathinfo=1 (去掉注釋)
;fastcgi.impersonate = 1 改為 fastcgi.impersonate = 1 (去掉注釋)
;extension=mysqli 改為 extension=mysqli (去掉注釋)
;extension=openssl 改為 extension=openssl (去掉注釋)
;extension=pdo_mysql 改為 extension=pdo_mysql (去掉注釋)
然后帶參數(shù)啟動(dòng)php-cgi.exe
沒(méi)有輸出就是正確
然后修改Nginx的配置文件ngnix.conf,將Nginx和PHP進(jìn)行關(guān)聯(lián)。
修改完,保存,重啟Nginx。
如果Ngnix和php-cgi程序都正常啟動(dòng)的話(huà),此時(shí)在瀏覽器地址欄輸入http://localhost可以看到php的信息頁(yè)面。
6. 配置PHP的Redis支持插件
PHP分為“線(xiàn)程安全(thread safe,簡(jiǎn)稱(chēng)ts)”版和“非線(xiàn)程安全”(none thread safe,簡(jiǎn)稱(chēng)nts)版,相關(guān)插件也需要搭配對(duì)應(yīng)版本。本文開(kāi)頭部分的鏈接配套的都是ts版。
這里也放上PHP官方擴(kuò)展網(wǎng)站:
https://windows.php.net/downloads/pecl/releases/redis/
https://windows.php.net/downloads/pecl/releases/igbinary/
將php_igbinary-2.0.8-7.3-ts-vc15-x64.zip和php_redis-4.2.0-7.3-ts-vc15-x64.zip下載后解壓。然后分別將里面的 php_igbinary.dll 和 php_redis.dll,復(fù)制到PHP的ext目錄下。然后修改php.ini文件,增加:
extension=igbinary
extension=redis
或者
extension=php_igbinary.dll
extension=php_redis.dll
效果是一樣的。
然后重新啟動(dòng)php-cgi:
這時(shí)再看php的信息頁(yè)面,能看到頁(yè)面中有redis相關(guān)信息。
7. 部署應(yīng)用
將步驟4中的nginx.conf配置文件改為最終的樣子,然后重啟ngnix.exe即可。
全部修改好以后最終的nginx.conf配置文件如下:
例子工程中有一處需要修改。是位于SupplyChain/public/dist/目錄下的config.js文件(改文件未納入版本管理,從創(chuàng)建和修改時(shí)間上看,應(yīng)該是應(yīng)用初次運(yùn)行時(shí)生成的)。其中的baseURL的值應(yīng)改為實(shí)際服務(wù)器的地址。【*版本更新】后來(lái)經(jīng)過(guò)開(kāi)發(fā)團(tuán)隊(duì)的調(diào)整,寫(xiě)為空字符串(僅一對(duì)雙引號(hào))也行。
window.g = {baseURL: "http://www.chenth.net/",real: false }如果沒(méi)有域名,則寫(xiě)成http://localhost/
此處若沒(méi)改對(duì),則“Next Day”按鈕點(diǎn)擊不響應(yīng)。
工程項(xiàng)目最終效果如下。
手機(jī)訪(fǎng)問(wèn)效果也不錯(cuò),為開(kāi)發(fā)團(tuán)隊(duì)點(diǎn)個(gè)贊哈!
8.總結(jié)
【參考資料】《Windows上搭建PHP開(kāi)發(fā)環(huán)境》
總結(jié)
以上是生活随笔為你收集整理的php web server部署(PHP+Nginx+Redis+MySQL)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 飞桨PaddleOCR环境搭建
- 下一篇: PaddleOCR加载chinese_o