admin 管理员组

文章数量: 1184232


2024年4月23日发(作者:怎么快速解析json)

第39卷 第3期

数字技术与应用

第 39 卷 数字技术与应用

2021年 3月

Digital Technology &Application

Vol.39 No.3

March 2021

设计开发

DOI:10.19695/12-1369.2021.03.45

Nginx+PHP+MySQL服务器环境搭建技术实践

王跃进

1

舒大荣

2

(1.贵州省铜仁第一中学,贵州铜仁 554300;2.贵州省德江第一中学,贵州铜仁 554300)

摘要:要自己建设一个应用网站,需要选择好Web服务器、编程语言和数据库,搭建好服务器环境,才能开发应用。本文介

绍基于开源的Nginx+PHP+MySQL技术在Windows服务器环境搭建技术实践,所有配置代码是在最新版本(Nginx1.16.1、PHP

7.4.4、MySQL8.0.19)测试通过。

关键词:Nginx;PHP;MySQL;服务器环境;搭建技术

中图分类号:TP311.13文献标识码:A文章编号:1007-9416(2021)03-0144-03

Nginx是一个高性能的WEB服务器。Nginx以免费

开源协议的形式发布,在应用过程中,其凭借良好的稳

定性、反向代理与负载均衡功能和低系统资源的消耗

而受到了业界的高度认可。PHP即“超文本预处理器”,

是一种通用开源脚本语言。MySQL是最流行的关系型

数据库管理系统之一。事实上,基于Nginx+PHP+

言。PHP是在服务器端执行的脚本语言,与C语言类似,是

常用的网站编程语言。PHP独特的语法混合了C、Java、

Perl以及PHP自创的语法。它利于学习,使用广泛,主要适

用于Web开发领域。

2.1 在PHP官网下载安装包

选择自己需要的版本以及电脑操作系统是64位还是

MySQL技术开发的国内网站很多,如百度、京东、腾讯、

32位的,Nginx需要选择非线程安全版本(作者下载的是

淘宝等。

VC15 X64 Non Thread Sase)。

1 WEB服务器Nginx的安装调试

由于是绿色软件,无须安装,在Nginx官网下载压缩包

后展开即可用,无须安装。可以在任意盘新建一个目录如

e:myappnginx,将展开的所有文件拷贝到nginx目录里。

简单介绍下几个nginx使用命令,在Nginx目录下DOS

命令行方式执行:

启动nginx:start nginx

修改配置后重新加载生效:nginx -

s reload

检查配置是否有错误:nginx -t

重新打开日志文件:nginx -s reopen

快速停止nginx:nginx -s stop

完整有序的停止ngin:nginx -s quit

启动nginx后,打开浏览器,在地址栏输入localhost或

127.0.0.1,看到“Welcome tonginx!”的默认页面就代表

安装成功了(后面再介绍修改配置以符合应用

需求)。

2.2 安装PHP

建立PHP目录,把我们下载的php压缩包解压到php

里面。

用文本编辑器打开PHP/

指定php的ext路径,把里面的路径改为我们安装php

文件夹中的ext目录,比如:

extension_dir = "E:myappphpext"

启动php服务:以管理员身份通过cmd进入DOS命令

行,进入“E:myappphp”目录,检测下面两个可执行文

件是否可以运行,如果不能运行,比如出现操作系统缺少

dll之类,根据错误提示信息解决,直到能正常运行:

php-cgi -h

php -v

3 MySQL数据库安装配置

作为软件应用前的重要准备工作,数据库的初始化安

全对于软件的合理运行具有至关重要的作用。研究人员

指出,该步骤一定要认真按步骤进行,注意地址、初始化

密码等信息正确,否则往往会导致后续工作压力的大幅

升高,从而对软件的合理运行造成影响。

2 脚本语言PHP的安装调试

PHP即“超文本预处理器”,是一种通用开源脚本语

收稿日期:2021-02-07

作者简介:王跃进(1963—),男,土家族,重庆人,本科,正高级教师,研究方向:高中信息技术教学、计算机网络技术。

144

王跃进 舒大荣:Nginx+PHP+MySQL服务器环境搭建技术实践

2021年第 3 期

3.1 初始化安装数据库

在本次研究中,根据系统选择下载不同版本,本文

下载Windows 64位8.0.19版。将zip压缩包mysql-8.0.

文件解压放在想放的位置,比如d:

myappmysql下,注意现在的版本没有文件了,

需要自建。

3.2 配置环境变量

鼠标右击计算机,通过属性、高级系统设置、环境变

量,将MySQL的bin位置(如d:myappmysqlbin)添加到

变量Path中,重新启动计算机生效,以后可以在任何目录

用命令启动或关闭MySQL。

3.3 MySQL初始化及服务安装

以管理员身份进入DOS命令行运行初始化命令:

mysqld--initialize--console

完成后注意记录下root@localhost密码(如:+N9jfml-

fl->),密码是随机生成的,每次初始化都不一样,在后面

修改密码时要用。

安装MySQL服务,使用命令:mysqld--install

上面安装服务成功后,就可以启动服务:net start

mysql

正常启动会显示启动成功信息。

假如在安装时出现提示:“The service already

exists!”这是由于之前已经安装过mysql并且没有删除干

净,可以用输入sc query mysql,查看一下名为mysql的

服务:

sc query mysql

用命令sc delete mysql,卸载(删除)mysql服务,然后

再安装:

若在启动过程中,提示:“发生系统错误2。系统找不到

指定的文件。”这是因为MySQL的路径没有指定,解决办

法是,先将MySQL卸载,输入命令mysqld remove,切换到

MySQL的目录,如d:myappmysql,然后再执行安装

mysqld--install,成功后,再net start mysql,这时候一般

应该正常启动了。如果依然不行,那就可能操作系统中注

册表里HKEY_LOCAL_MACHANE中还有MySQL错误或

老版本的MySQL残留信息,搜索删除并重启计算机,重新

(删除data目录及其文件)初始化安装(mysqld--initialize-

-console)。

成功安装后,默认以后随着服务器自动启动,无需手

工在启动。

3.4 新建并配置文件

先关闭MySQL服务:net stop mysql

用文本编辑器新建配置文件,保存在mysql目

录,文件内容如下

[1]

:

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=D:myappmysqlbin

# 设置mysql数据库的数据的存放目录

datadir=D:myappmysqlData

# 允许最大连接数

max_connections=200

# 允许连接失败的次数。这是为了防止有人从该主

机试图攻击数据库系统

max_connect_errors=10

default_authentication_plugin=mysql_native_password

[mysql]

# 设置mysql客户端默认字符集

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

3.5 修改root密码

启动MySQL输入初始化密码登陆MySQL:

net start mysql

mysql -u root -p

输入刚才保存的密码,如:80Z#qtg6iNui

传统修改root密码的sql语句:

set password for root@localhost=password('root');

但是MySQL8.0无效了。经研究发现,“mysql5.7.9之

后,就没有了password函数,所以,使用传统的password()

函数修改root密码的话,就会提示sql错误”。所以,

MySQL8.0修改密码的正确方式应该是,在mysql环境下

(提示符)使用命令:

ALTER USER 'root'@'localhost' IDENTIFIED

WITH mysql_native_password BY '新密码';

注意密码一定要6位数以上,最后的分号不能少。

使用新密码登陆:

mysql -u root -p

Enter password: ******

退出MySQL:exit

重启一下数据库:net start mysql

停止数据库:net stop mysql

4 配置连接Nginx、PHP与MySQL的支持

4.1 修改Nginx配置

用文本编辑器修改配置文件,找到如下两

处进行修改

[2]

,修改内容如下:

145

“mysql>”

第 39 卷 数字技术与应用

location / {

root e:myappwww;

index ;

}

location ~ .php$ {

root e:myappwww;

……

}

1.2

4.2 修改PHP配置

不同版本有所不同,这里是按最新版php7.4.4进行配

置说明),用文本编辑器打开。

查找定位修改:

;extension_dir = "ext",修改为:extension_dir="E:/

myapp/php/ext"

;extension=gd2,删除前面的分号,PHP操作图形图像

的函数库

;_redirect=1,删除前面的分号,CGI二进制文

件是在启用force CGI redirect的情况下编译

[MySQLi]、[Pdo_mysql]段按下载的默认设置(MySQL

都是开启的)不需要修改。

启动php-cgi服务,进入命令提示符界面,进入php目

录,使用命令:

-b 127.0.0.1:9000 -c

使用命令,netstat-a,回车显示进程包含信息:

TCP 127.0.0.1:9000 xxxxx:0 LISTENING

说明php-cgi启动成功。

关闭nginx服务的命令:taskkill/F/IM >nul

关闭 php服务的命令:taskkill/F/IM

>nul

4.3 测试Nginx+PHP+MySQL服务器环境

编辑一个测试页面文件,存放在WWW目录

里,文件内容如下:

test mysql+php+nginx

$mysqli = new mysqli("localhost","root","密码

");

if(!$mysqli){

echo "你的数据库连接失败,请检查配置!!";

}else{

146

echo "你的数据库连接成功!!";

}

$mysqli ->close();

?>

打开浏览器,在浏览器地址栏内键入:127.0.

0.1/,如看到界面显示“数据库连接成功”,说明

Nginx+PHP+MySQL环境基本设置成功。

5 实验总结

要自己建设一个应用网站,需要根据我们的需求,选

择好Web服务器、编程语言和数据库,搭建好服务器环境,

才能开发应用,否则后患无穷。

5.1 选择Nginx+PHP+MySQL的理由

本文之所以选择Nginx+PHP+MySQL开源软件(Open

Source Software,简称为OSS)技术。主要原因为:(1)开源

软件更安全,一般来说程序漏洞一旦发现,立刻就会更

新;(2)可定制和更灵活,因为源代码在手里,易于二次创

意、开发,不用担心被闭源软件供应商绑架;(3)透明度高

和利于评估,开源软件比闭源软件更加符合开放的标准。

对于闭源的软件,除了供应商告知技术参数、安全标准,

用户无从知晓。

基于PHP+MYSQL技术开发应用,其特点是,WEB服

务器常用Apache或Nginx。它们可以运行在几乎所有计算

机平台上,是最流行的WEB服务器端软件之一。它快速、

可靠并且可通过简单的API扩充,将Perl/Python等解释器

编译到服务器中。而Nginx(俄罗斯人伊戈尔·赛索耶夫开

发的)WEB服务器,以其处理网络请求的高并发、高性能

及高效率,获得了行业界的广泛认可,近年已稳居WEB服

务器部署排名前茅,并被广泛用于反向代理和负载均衡。

5.2 成功案例

考虑到跨平台、低成本、兼容性、开源免费等因素,我

们工作室采用基于Nginx+PHP+MySQL组合技术进行开

发设计的通用数字化证件管理系统(.

net/),通过各单位一年多的试运行,性能与安全性受到用

户的一致好评。

参考文献

[1] 王跃进.基于Moodle的贵州信息技术教师在线培训实践研究

[R].贵州:贵州省高中信息技术王跃进名师工作室,2019.

[2] 舒大荣.基于PHP+MySQL的多用户在线证书生成系统的开发应

用研究[R].贵州:贵州省德江县第一中学,2019.

······下转第149页

陈蓄 陈雨翔 罗鸣等:钠冷快堆现场设备快速定位系统设计

2021年第 3 期

使用。在本模块中管理员可对数据库进行管理,可以对信

息进行新增、查找、排序、删除、导出等操作。针对文字信

息的编辑,管理员直接在本模块的表格中进行,完成后产

生的编辑信息会进入“更新清单”中储存。若对设备在流

程图、平面布置图上的位置进行修改,可以直接在修改设

备在图纸上的坐标,或是点击“上”“下”“左”“右”按钮进

2 结语

核电厂中系统和设备种类繁多,要在短时间内掌握核

电站全厂设备位置和关键信息对于每个运行人员是难度

太大,需要运行人员经过多年的磨练,付出大量的努力和

时间。尤其对于入职不久的新员工,由于知识储备的不

够,现场不熟悉,在工作时很容易出现人因失误,这会对

行微调。完成修改保存后,编辑信息仍会进入“更新清单”

核电站安全运行带来很大的影响。本系统可以在短时间

中。若用户要新增一份图纸,在图纸添加入本系统后,新

内帮助运行人员知悉现场设备的位置,掌握相关重要信

增信息的编辑操作如上文所述。管理员完成设备信息修

改后,需要将“更新清单”中的信息导出。系统会自动统计

产生的修改信息数量,然后生成更新清单,导出生成Excel

文件和相应的附件。管理员只需将该文件上传至电厂内

网,通知各用户下载更新本地系统即可。

数据更新模块开放给用户使用,用户在收到更新通知

后,将更新包导入本模块中。该模块中设置了三项内容的

更新,分为列表信息、图纸和照片,同时记录了上次更新

的时间以及版本。用户选择相应的文件包后,文件中的内

容在更新列表中进行展示。点击“更新数据库”,列表中的

信息被写入本地数据库,完成更新。

息,不仅可以提高工作效率、缩短运行人员培养周期,而

且在很大程度上也保证核电机组安全稳定运行。同时借

助本系统还能使图纸的编辑工作变得简单,缩短相关工

作的准备时间,提高工作效率。

参考文献

[1] 王金华.核电厂中事件发生机理与人因管理[J].核安全,2014,

13(2):1-5.

[2] 刘云.引入分布式控制器可靠性因素的安注系统概率安全分析

[D].南京:东南大学,2013.

Design of Fast Positioning System for Field Equipment of Sodium

Cooled Fast Reactor

CHEN Xu,CHEN Yu-xiang,LUO Ming,YE Kai

(CNNP Xiapu Nuclear Power Co., Ltd., Ningde Fujian 355100)

Abstract:Nuclear power plant has a wide range of equipment and operators can not remember the location and important

information of the the same reason,operators need to prepare a lot of information and drawings with operation marks in

advance during overhaul or 's a waste of time if operators are not familiar with the this article introduces this

fast positioning system of sodium cooled fast system can reduce hours of searching for device information,positioning

equipment and reparation of drawings in daily business or emergencies. Also this system assists operators to complete work correctly

and efficiently and has a certain practical value.

Key words:Operators;Field equipment;Positioning system

······上接第146页

Nginx+PHP+MySQL Server Environment Construction Technology Practice

WANG Yue-jin

1

,SHU Da-rong

2

(n No.1 Middle School in Guizhou Province, Tongren Guizhou 554300;

g No.1 Middle School in Guizhou Province, Tongren Guizhou 554300)

Abstract:To build an application website by yourself, you need to choose a web server, programming language and database, and

build a good server environment before you can develop an application. This article introduces the technical practice of building a

Windows server environment based on the open source Nginx+PHP+MySQL technology. All configuration codes are tested and

passed in the latest version (Nginx1.16.1, PHP7.4.4, MySQL8.0.19).

Key words:Nginx; PHP; MySQL;Server environment; Building technology

149


本文标签: 运行 系统 信息 服务器 修改