php web server部署(PHP+Nginx+Redis+MySQL)
1. 運行環境和軟件準備
操作系統:Windows10_x64
數據庫: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
服務器:nginx-1.18.0.zip
例子工程:https://e.coding.net/ersu/supply_chain/supply_chain.git
2. MySQL部署
安裝略。
針對例子工程進行用戶、數據庫、表的創建
先用root用戶登錄MySQL
--創建用戶 CREATE USER 'admin'@localhost IDENTIFIED BY 'admin'; --創建數據庫 CREATE DATABASE IF NOT EXISTS supply_chain CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; --用戶授權 grant all privileges on supply_chain.* to admin@localhost identified by 'admin'; --刷新授權 flush privileges;用剛創建的admin用戶登錄MySQL
--切換數據庫 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文件雙擊打開一路Next。安裝完成后,進入到安裝目錄下,帶參數(配置文件名)運行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》
先直接解壓,然后運行ngnix.exe反向代理服務程序:
此時在瀏覽器地址欄中輸入http://localhost可以看到ngnix的歡迎頁面。
然后修改ngnix.conf配置文件
這一步可以只改標注紅色1的內容,用于等步驟5完成后查看PHP信息(在nginx-1.18.0/html/目錄下創建文件index.php,內容如下);標注紅色2的內容可以等到部署完應用后再改。
5. PHP部署
先附上PHP官網,注意PHP分為“線程安全(thread safe,簡稱ts)”版和“非線程安全”(none thread safe,簡稱nts)版,本文用的是ts版。
下載php-7.3.9-Win32-VC15-x64.zip后,將php安裝文件解壓,然后進入安裝目錄,將php.ini-development復制一份更名為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 (去掉注釋)
然后帶參數啟動php-cgi.exe
沒有輸出就是正確
然后修改Nginx的配置文件ngnix.conf,將Nginx和PHP進行關聯。
修改完,保存,重啟Nginx。
如果Ngnix和php-cgi程序都正常啟動的話,此時在瀏覽器地址欄輸入http://localhost可以看到php的信息頁面。
6. 配置PHP的Redis支持插件
PHP分為“線程安全(thread safe,簡稱ts)”版和“非線程安全”(none thread safe,簡稱nts)版,相關插件也需要搭配對應版本。本文開頭部分的鏈接配套的都是ts版。
這里也放上PHP官方擴展網站:
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,復制到PHP的ext目錄下。然后修改php.ini文件,增加:
extension=igbinary
extension=redis
或者
extension=php_igbinary.dll
extension=php_redis.dll
效果是一樣的。
然后重新啟動php-cgi:
這時再看php的信息頁面,能看到頁面中有redis相關信息。
7. 部署應用
將步驟4中的nginx.conf配置文件改為最終的樣子,然后重啟ngnix.exe即可。
全部修改好以后最終的nginx.conf配置文件如下:
例子工程中有一處需要修改。是位于SupplyChain/public/dist/目錄下的config.js文件(改文件未納入版本管理,從創建和修改時間上看,應該是應用初次運行時生成的)。其中的baseURL的值應改為實際服務器的地址。【*版本更新】后來經過開發團隊的調整,寫為空字符串(僅一對雙引號)也行。
window.g = {baseURL: "http://www.chenth.net/",real: false }如果沒有域名,則寫成http://localhost/
此處若沒改對,則“Next Day”按鈕點擊不響應。
工程項目最終效果如下。
手機訪問效果也不錯,為開發團隊點個贊哈!
8.總結
【參考資料】《Windows上搭建PHP開發環境》
總結
以上是生活随笔為你收集整理的php web server部署(PHP+Nginx+Redis+MySQL)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞桨PaddleOCR环境搭建
- 下一篇: PaddleOCR加载chinese_o