赞
踩
操作系统: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
安装略。
针对例子工程进行用户、数据库、表的创建
先用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;
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 error
D:\Redis>
可以参考《Windows上部署Ngnix》
先直接解压,然后运行ngnix.exe反向代理服务程序:
此时在浏览器地址栏中输入http://localhost可以看到ngnix的欢迎页面。
然后修改ngnix.conf配置文件
这一步可以只改标注红色1的内容,用于等步骤5完成后查看PHP信息(在nginx-1.18.0/html/目录下创建文件index.php,内容如下);标注红色2的内容可以等到部署完应用后再改。
<?php
phpinfo();
?>
先附上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
php-cgi.exe -b 127.0.0.1:9000 -c php.ini
没有输出就是正确
然后修改Nginx的配置文件ngnix.conf,将Nginx和PHP进行关联。
修改完,保存,重启Nginx。
如果Ngnix和php-cgi程序都正常启动的话,此时在浏览器地址栏输入http://localhost可以看到php的信息页面。
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-cgi.exe -b 127.0.0.1:9000 -c php.ini
这时再看php的信息页面,能看到页面中有redis相关信息。
将步骤4中的nginx.conf配置文件改为最终的样子,然后重启ngnix.exe即可。
全部修改好以后最终的nginx.conf配置文件如下:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name ws-manage-dev.jammyfm.com; root E:/test/SupplyChain/public; #charset koi8-r; #access_log logs/host.access.log main; location /api { index index.php index.html; try_files $uri $uri/ /index.php?$query_string; } location / { root E:/test/SupplyChain/public/dist; index index.html index.htm index.php; } # redirect server error pages to the static page /40x.html # error_page 404 /404.html; location = /40x.html { } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
例子工程中有一处需要修改。是位于SupplyChain/public/dist/目录下的config.js文件(改文件未纳入版本管理,从创建和修改时间上看,应该是应用初次运行时生成的)。其中的baseURL的值应改为实际服务器的地址。【*版本更新】后来经过开发团队的调整,写为空字符串(仅一对双引号)也行。
window.g = {
baseURL: "http://www.chenth.net/",
real: false
}
如果没有域名,则写成http://localhost/
此处若没改对,则“Next Day”按钮点击不响应。
工程项目最终效果如下。
手机访问效果也不错,为开发团队点个赞哈!
【参考资料】《Windows上搭建PHP开发环境》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。