㈠ 如何配置php服务器
配置php服务器对于程序员很重要,但很多人都不会.,那么如何配置php服务器呢?下面是我收集整理的如何配置php服务器,希望对大家有帮助~~
工具/原料
windows server 2008 和 windows server 2003 服务器操作系统
fastcgi、php、mysql安装包
IIS6安装配置PHP环境
11. 安装IIS
IIS是windows平台下比较成熟的web服务,安装方法也非常简单。
打开“开始”菜单,点击“管理您的服务器”(如图所示),点击“添加或删除角色”(如图所示)。
3Windows server 2008服务器防火墙配置
1) 在控制面板中打开网络和共享中心
2) 点击“windows防火墙”弹出防火墙配置窗口,在此窗口中要确认防火墙服务已经开启
3) 单击“允许程序或功能通过Windows防火墙”弹出网络服务端口配置窗口,在此窗口中可以选择允许打开端口并通信的网络服务,单击“允许运行另一程序”来自定义开启某一网络服务或端口
4用户管理
系统中用户的数量能越少越好,并且每个用户都被用于特定的功能,如可以新建一个专门用于对网站进行匿名授权的账户(如条件允许,可以为每个网站新建一个独立的账户进行分别授权,这些能够隔离开各网站的授权,提高各网站的安全性,不至于一个网站被入侵后能够有权限访问到其它网站的文件目录)。另外最重要的一点是要为每个账户设置一个独立且复杂的密码,防止账户密码被猜解和穷举。
5文件系统权限管理
l C盘只给administrators 和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
l Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。其实没有必要单独设置Instsrv和temp等目录权限。
l 另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users/Application Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;
譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,在用做web/ftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,每个盘都只给adinistrators权限。
另外,还将:
net.exe
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.exe
这些文件都设置只允许administrators访问。
l 网站的目录最好独立到一个磁盘中,新建一个为网站匿名访问而独立授权的账户,让此账户可以访问和编辑此目录,移除其它不必要的账户对此目录的访问权限,能有效防止网站被入侵后从而涉及到整个系统被控制
END
日常维护建议
1定期运行安全软件进行快速扫描
定期运行一下安全软件,可以看到安全软件的引擎或病毒库是否已经更新到了最新版本,如果没有可以即时查找原因,看是否是安全软件未运行、升级端口被禁用或其它原因,虽然安全软件可以在后台即时扫描各种文件操作,以防止病毒入侵,但有些恶意软件、流氓软件或插件则不是实时防护的,虽然这些软件不会造成服务器宕机,但也会影响服务器性能。
2定期检查防火墙端口配置
随着服务器上的网络服务越来越多,需要打开的网络端口也越来越多,但有些端口是不需要开放的,例如你安装了一个数据库软件(mysql、oracle等),这些数据库服务很可能只需要在你服务器的内部访问,就完全没有必要让其通过防火墙,这样能够提高服务器的安全,服务器对外提供的端口越少越好;
虽然在安装网络服务的过程中,防火墙会提示你有网络端口正在打开,是否允许通过防火墙,但有些管理员没有细心看提示,直接就同意了,造成了大量没有必要打开的网络端口被打开了,特别是一些木马或恶意软件会混水摸鱼,伪装提示信息来诱骗管理员打开网络端口,造成大量的安全隐患。进入防火墙配置界面,选择相应的端口或网络服务,点击“详细信息”则可以看到此项应用的详细信息,根据这些信息来判断其是否应该开启这个端口。
3任务管理器中观察有无可疑进程,了解系统资源使用情况
任务管理器可以简单并快速的了解服务系统资源的使用情况,并即时查看系统运行的进程和他们占用的系统资源,根据服务器上已开启的各种应用的服务来判断哪些进程是非法的,哪些进程占用的系统资源过多。了解到这些信息后就可以即时的对服务器进行调整,特别是占用资源过多的进程进行分析,看是否有什么异常并即时进行调整。
l 观察系统进程,并自定义进程属性
查看网络使用情况
查看系统资源使用情况
检查IIS,了解网站安装情况
随时了解服务器上网站的安装状况,并做以下检查:
1、看各个网站定义的主机头是否异常
2、 绑定的域名是否完整
3、 主目录设置是正确
4、用户权限设置是否合理
5、 查看IIS的应用程序池设置是否合理,每个池下面托管的网站是否过多,是否需要设置新的应用池,是否有多余的应用池可以删除。
查看系统日志,仔细检查错误、警告日志发生的原因,并急时修复相应的问题。
检查系统用户,查看有无多余,可疑用户账户,查看每个账户所属的用户组,特别是administrators组下面的用户。服务器被入侵时会出现一些欺骗性的账户并被加入到administrators组中,特别留心新建的多余账户,弄清这些账户的用途,如果发现是入侵者建立的账户,要即时查找账户是被创建的原因,并修复相应的漏洞。
检查文件系统,确保磁盘被合理分区,各个分区应该有各自的功能,如系统、数据库、网站、备份等。各个分区的用户授权是不相同的,如系统、备份等不需要网站的专门授权账户访问,数据库分区需要对数据库账户进行单独的授权等。既然规划好了文件分区和功能,并进行了相应的授权,就要防止文件被乱放,以免造成安全隐患。
还要经常检查各种新建的文件夹和文件(特别是来历不明,名称畸形的隐藏文件夹和文件)这些都有可能是入侵者留下的入侵痕迹。
清除垃圾文件,随时系统运行时间的增加,会产生很多的临时文件和日志文件,占用宝贵的磁盘资源,如果磁盘的可用空间过小(特别是系统盘)还会影响服务器性能。
1、临时文件(安装程序、系统升级、应用程序等产生的)产生的,主要在系统盘,可以看哪些文件夹的体积异常大,可分析其内部文件,确认是临时文件后将其删除
2、 日志文件,主要是IIS产生的,这些日志文件对于查看网站运行状态、访问历史很有用,但日志有时效性,如果超过其三个月就没有什么用处了,但它会占用大量的磁盘空间,所以需要定期将其删除。
定期检查磁盘状态并进行碎片整理,随着系统运行时间的增长,特别是大量的IO操作后,磁盘上会产生大量的文件碎片,这些碎片过多则会严重影响服务器性能,所以定期(建议一个月)进行磁盘碎片检查,如果系统提醒需要进行碎片整理,则进行整理。
及时升级操作系统补丁,操作系统有各种大量的补丁,特别是一些重要的安全补丁需要即时升级,这样会有效防止黑客和病毒入侵。
及时备份重要的文件、应用、数据库。备份分为本地备份和异地备份,有条件的可以进行异地备份,备份是为了以防万一,当数据丢失或应用损坏时,备份就是救命稻草,因此合理的备份计划是非常有必要的。
㈡ php手把手教你做网站(二十九)thinkphp6部署多个数据库
前边介绍了负载均衡,mysql同步,接下来介绍tp6分布式部署多个数据库,实现读写分离。
tp6的分布式部署读和写仍然是一个系统,这里我们分开操作,给用户展示的就是从数据库,后端添加文章就是主库,然后同步到从库。
1、配置数据库链接参数
目标:实现随机使用数据库展示信息,只是读操作。
测试:前台可以读取表中内容(存放的不一致),查看是否是随机显示的。
打开.env文件进行编辑
说明:
2、编辑database.php
找到deploy设置为1分布式部署,下边不要改,都是读,写入的也就是后端的我们单独建站连接主库。
配置完成,tp6使用的是mt_rand取随机数判断使用哪个数据库。
3、数据库交互写操作
比如浏览量没必要每次都去更新数据库,可以先使用redis缓存,存够1000的整数倍,再去更新数据库。
4、后台独立,也就是写
可以前后端分离,单独做一个网站(没有前端)使用ip访问或者独立的域名连接后台。
5、上传附件(jquery ajax跨域上传)
使用了nginx负载均衡,肯定是多个一样的网站,如果图片存放到一个站,别的就不能访问了,可以单独设置一个附件(压缩包,图片等)服务器,可以使用二级域名连接,这就要求我们上传附件的时候,是上传到附件服务器。
jqueryURL
API控制器apdpic方法
说明:
也可以先传到后台服务器然后使用(php)ftp上传,或者是通过curl上传到附件服务器,感觉那样毕竟麻烦,直接设置跨域会比较简单。
也测试了使用jsonp跨域,但是不能上传附件。
6、thinkphp6实现读写分离(在一个站点)
我个人是不喜欢这样的,负载均衡应该是均衡地读,也就是前台单独一个站点,后端的写是另一个独立的站点,看个人喜好吧。
独立后台的优点:可以提升安全性,因为我们的后台网址是不公开的,避免用户猜测一些后台的信息。
.env配置按照1所述编辑,默认第一个是主库。
database.php
愿大家在新的一年心想事成,万事如意!!!
㈢ 前端vue与后端Thinkphp在服务器的部署
vue在服务端部署时,我们都知道通过npm run build 指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。
web服务器: apache
一、跨域
在服务器配置站点:
在路径/home/www/ 下创建test项目文件夹,用来放项目文件。
找到httpd-vhosts.conf文件配置站点
前端站点:
ServerName test.test.com
DocumentRoot "/home/www/test/dist"
DirectoryIndex index.html
后端站点:
ServerName test.testphp.com
DocumentRoot "/home/www/test/php"
DirectoryIndex index.php
将前端打包好的dist文件放在/home/www/test/ 文件夹下,运行http://test.test.com可浏览,当路径改变时,刷新会出现404错误。此时dist文件下创建一个.htaccess文件,当路径不存在时,路径指向http://test.test.com/index.html能解决此问题。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
在/home/www/test文件夹下创建项目根目录php文件夹,将thinkphp文件放在php下。TP5的入口文件在public文件下,在这将public下的入口文件index.php挪到php文件夹下(个人习惯将入口文件放在项目根目录), 后端绑定Index模块。
前端调用后端接口,存在跨域,跨域解决方法有好几种,在这我将在后端php做配置,解决跨域问题,在公用控制器设置跨域配置:
class Common extends Controller
{
public $param;
// 设置跨域访问
public function _initialize()
{
parent::_initialize();
isset($_SERVER['HTTP_ORIGIN']) ? header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']) : '';
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, authKey, sessionId");
$param = Request::instance()->param();
$this->param = $param;
}
}
前端调用登录接口: this.axios.post('http://test.testphp.com/index.php/base/login', {user: '', password: ''})。
(可在webpack.base.conf.js文件下可定义接口:http://test.testphp.com/index.php/)
二、同域
后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index() {
$this->redirect('/index.html');
}
}
前端调用登录接口: this.axios.post('/index.php/base/login', {user: '', password: ''})
转自:https://blog.csdn.net/qq_35465132/article/details/78986675
㈣ 写网站需要用到php,怎样搭建php环境
首先需要去Phpstudy官网下载相应系统的软件包,这里默认使用的是XP系统(WIN7系统步骤相同),选择软件包(这里下载的是phpStudyLite版本,也可以根据不同的系统爱好下载喜欢的软件报版本)进行下载安装即可。
下载完软件后得到软件包,双击解压到指定的目录下,这里解压c:/phpstudy下。
解压完后,会弹出防止重复化提示,这里选择“是”即可。
随后,桌面弹出软件运行的控制面板,可以看到软件已经启动起来了,包括他的启动状态。
现在,可以进入C:/phpstudy进入目录下看到有个“www”文件夹,这个目录就是存放PHP网站程序的地方,直接放置到其根目录下即可。
这里,用discuz3.2程序为例,把程序放置WWW目录根目录下
控制面板上的“Mysql管理器”是用来管理mysql数据库的,点击下,可以通过浏览器进入MySQL管理页
这是点击后的mysql管理登陆页面,这里提示下,它的默认账号密码均为root。
登陆后可以看到。包括,导入,导出,删除等操作。左边列出的是已有的数据库,除了默认的系统数据库外,还有一个test测试数据库,不喜欢的朋友,可以直接删掉就好。
返回桌面软件运行控制面板,看到“其他选项菜单”按钮,它里面主要包括一些常用的参数的设定,这里点击看下
点击“其他选项菜单”按钮,可以看到里面包括很多设定项,如配置文件、版本切换、站点域名管理等等,具体设定大家可以看下软件提供的详细教程,这里不再详细解说。
在上面,已经启动了软件,而且也把discuz3.2程序,放置到www文件夹的根目录下了。下面就打开浏览器看下效果吧,浏览器地址栏输入localhost(如果把PHP程序包A文件夹放置到www目录下的话,这里输入的地址就为localhost/a),回车,看到出现discuz3.2的安装界面了,证明本地php环境已经搭建好了
㈤ Thinkphp5项目在nginx服务器部署
1,切换到nginx的配置目录,找到nginx.conf文件
cd /usr/local/nginx/conf
vim nginx.conf
2,如果是单项目部署的话,只需要在nginx.conf文件里面加上以下
server{
listen 80;
# 域名,本地测试可以使用127.0.0.1或localhost
server_name www.zhangc.cn;
# php项目根目录
root /home/data-www/blog;
location /{
# 定义首页索引文件的名称
index index.php index.html index.htm;
# 影藏入口文件
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
try_files $uri $uri/ /index.php?$query_string;
}
# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
# Fastcgi服务器和程序(PHP)沟通的协议
.location ~ .*\.php${
# 设置监听端口
fastcgi_pass 127.0.0.1:9000;
# 设置nginx的默认首页文件
fastcgi_index index.php;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
try_files $fastcgi_script_name =404;
}
}
3,如果多项目部署,就需要配置vhost
第一步:编辑nginx.conf文件,在最后加上 include vhost/*.conf;
第二步:进入vhost文件夹,创建 域名.conf 文件,如创建一个:quanma.meyat.com.conf
第三步:编辑quanma.meyat.com.conf文件,内容如下:
server
{
listen 80;
server_name quanma.meyat.com;
index index.html index.htm index.php default.html default.htm default.php;
root /data/wwwroot/default/quanma/public/;
#error_page 404 /404.html;
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
try_files $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
#try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
try_files $fastcgi_script_name =404;
#include fastcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
# Disallow access to .ht, .svn, .bzr, .git, .hg, .cvs directories
location ~ /\.(ht|svn|bzr|git|hg|cvs) {
deny all;
}
#access_log /date/nginx/bmp.com.conf/access.log main;
}
㈥ 在Windows系统下怎么部署PHP网站运行环境
Windows操作系统
WAMP集成环境
1、安装WAMP集成环境
通过上面"环境下载"链接下载WAMP后,将其解压至任意目录,然后双击开始安装。
4、然后就可以根据你自己的需求去部署网站了。
㈦ 服务器上怎么安装php程序
你好,如果你的服务器是Windows系统,那么你需要远程到你的服务器,进行启动IIS(asp环境),如果你需要php环境,你可以从xp.cn(小皮)或者bt.cn(宝塔)安装面板
如果你的服务器是Linux,建议使用宝塔
打开终端,不同Linux系统的输入指令不同:
Centos安装脚本
终端输入:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin安装脚本
终端输入:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian安装脚本
终端输入:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora安装脚本
终端输入wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
输入后进行安装就可以了