您的位置:

服务器和部署php应用程序(php搭建服务器)

本文目录一览:

怎样在远程 Web 服务器上部署 PHP 应用程序

用scp scp 文件名 1 远程用户名 @IP 地址 : 文件名 2

例如 scp /tmp/project/index.php servername:/webroot

把本地index.php文件传输到服务器上的webroot目录下 !

服务器上怎么安装php程序

你好,如果你的服务器是Windows系统,那么你需要远程到你的服务器,进行启动IIS(asp环境),如果你需要php环境,你可以从xp.cn(小皮)或者bt.cn(宝塔)安装面板

如果你的服务器是Linux,建议使用宝塔

打开终端,不同Linux系统的输入指令不同:

Centos安装脚本

终端输入:yum install -y wget wget -O install.sh sh install.sh

Ubuntu/Deepin安装脚本

终端输入:wget -O install.sh sudo bash install.sh

Debian安装脚本

终端输入:wget -O install.sh bash install.sh

Fedora安装脚本

终端输入wget -O install.sh bash install.sh

输入后进行安装就可以了

服务器程序源代码分析之二:php-fpm

php作为排名top2 互联网开发工具,非常流行,可以参考:中国最大的25个网站采用技术选型方案

php这个名称实际上有两层含义

直接定义:

php-fpm从php5.3.3开始已经进入到php源代码包,之前是作为patch存在的

很少人会去读php本身源代码,我6年前解决php内存泄露问题的时候做了些研究,最近再查看了一番,发现php的开发者很有诚意,这是一款非常出色的服务器软件,支持如下

在linux服务器上,如果不设置 events.mechanism ,那么默认就是采用epoll,所以

php-fpm的IO模型并发处理能力和nginx是完全一致

nginx以性能卓越闻名,大部分程序员都认为php效率低下,看了源代码,才知道这是传奇啊

在高性能部署的时候,大家往往会针对性的优化nginx 。我自己之前部署php程序也犯了错误,8G内存的server,php-fpm的max children都会设置128+,现在看来太多了,参考nginx的部署:

php-fpm配置为 3倍 cpu core number就可以了

php-fpm稳定性比nginx稍差 这是因为php-fpm内置了一个php解析器,php-fpm进程就和php程序捆绑了,如果php脚本写得不好,有死循环或者阻塞在某个远端资源上,会拖累加载它的php-fpm进程

而nginx和后端应用服务器之间通过网络连接,可以设置timeout,不容易堵死的

php-fpm的fastcgi是短连接 我原以为是长连接的,看了代码才知道也是短连接,处理一个request就关闭掉

php-fpm接口采用fastcgi 非常遗憾,php-fpm和fastcgi完全绑定了,无法独立使用 。只能部署在支持http-fcgi协议转换程序背后(nginx)。其实可以考虑在php-fpm代码包里面引入http协议支持,这样php-fpm可以独立运行,让nodejs无话可说

php-fpm等同于OpenResty OpenResty是一个国人开发的nginx模块,就是在nginx引入lua解释器. 实际上,它和php-fpm的唯一差别就是一个采用php语法,一个用lua,所以OpenResty要作为nginx增强包使用还可以,要选择它作为一个主要编程工具,没有任何必要

从架构上来说,php-fpm已经做到最好,超过大多数 python部署工具,我再也不黑它了

PHP部署开发服务器

当然是安装php服务器了

php是支持跨平台的,理论上是可以一次编译四处运行的,但是有些地方还是需要注意的 比如windows系统的盘符路径和其他系统是不一样的,当你的程序设计不好的时候上传下载的功能跨平台就不能用了

要发布网站首先你需要有独立的公网ip地址然后在路由器上做端口映射。顺便说一下那些所谓的共享宽带基本都是不可以的

只要满足3的条件当然可以

内网只要直接访问服务器的内网ip地址就ok了

php项目如何部署在服务器上

一、阿里ECS服务器配置

     1.因为线上已经有几个站点了.所以要配置ngnix多站点

     2.阿里云ecs目录结构,ngxin 在/etc/nginx/目录下,配置的地方主要是nginx.config文件。或者在conf.d新建一个配置文件然后在include到nginx.config文件中

        

     3.nginx.config新建站点信息

server {

listen       80;

server_name  www.你的域名.com;

root         站点的相对路径;

index index.php index.html index.htm;

#charset koi8-r;

#access_log  /var/log/nginx/host.access.log  main;

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

location / {

#try_files $uri $uri/ /index.php;

root   /opt/www/pcweb/ytyy_pc;

index  index.php index.html index.htm;             if (!-e $request_filename) {   rewrite  ^(.*)$ /index.php?s=$1  last;   break;    }}             url重写(可以没有)

# redirect server error pages to the static page /40x.html

#

error_page  404              /404.html;   40错误页面配置

location = /40x.html {

}

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;  50错误页面配置

location = /50x.html {

}

location ~ \.php$ {

root           站点相对路径;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

location ~ /\.ht {

deny  all;

}

}

配置文件的基本内容如上;

配置完成后测试配置文件是否正确

这样配置就可以使用了

然后重启nginx服务器 

这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接git clone过去的。

二.thinkphp项目文件转移

本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋 看不到报错

万能百度大法

解决方法1.internet高级选项-隐私-站点  新加阻止站点

解决方法2:控制面板-网络和internet-本地连接-属性-ipv4  使用如下ip

终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法

 

 

 得到最终结论是文件目录权限引起的。thinkphp 的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单

进入到项目文件目录

直接跟文件最高权限

chmod -R 777 [目录]  //linux修改文件权限

 

php程序怎么部署运行

首先你要有windows2003和iis6.0(6.0以下就免谈了)。

然后要安装的东东依次为:php5.2,mysql5.0,phpmyadmin2.11

这些东西一个个去找实在是太麻烦了,幸好我们有wamp。

只要学会了安装wamp,那么就只剩下“配置”了。

下面所有牵涉到的文件路径都以wamp为准,php在wamp中的目录为wamp\bin\php\php5.2.5。

要让iis能够解析php,首先要把php.ini复制到c:\windows目录下,把php5isapi.dll复制到c:\windows\system32下。

然后从windows2003的管理工具中进入iis,新添加一个web服务扩展,扩展名可以任意填写,比如说“php服务扩展”,要求的文件则是php5isapi.dll,勾上“设置扩展状态为允许”。

然后新建一个网站,假设已经有了一个网站,右键“属性”,为网站创建一个“应用程序池”,执行权限为“脚本和可执行程序”,点击“配置”,添加一个

“应用程序扩展”,在新弹出的窗口中,可执行文件选择刚才的php5isapi.dll(最好是c:\windows\system32下的),”扩展

名”为.php,动作限制为“get,head,post,trace”,勾去“确认文件是否存在”

ok,这样php就基本上配置好了,可以去网站根目录下创建一个index.php,写入“

?php

phpinfo();?”,然后打开浏览器测试一下就可以了。

首先你必须修改php.ini,找到extension_dir这个参数,假设wamp安装在d盘,改成

extension_dir

=

“d:\wamp\bin\php\php5.2.5\ext\”,然后找到extension=php_mysql.dll和

extension=php_mysqli.dll,确保他们之前的逗号已经去掉。

接下就是关键了,在wamp\bin\php\php5.2.5目录下有一个关键的文件libmysql.dll,昨天困扰了许久,才想起以前配置

mysql的惨痛经历(都是wamp惹的祸,把php/mysql的安装搞的太简单了),这个文件一定要复制到c:\windows\system32目

录下去,否则就算在php.ini里面打开extension=php_mysql.dll也没有用,当浏览需要连接mysql的页面时,会报错说

“mysql”类型不存在。

我们就遇到了这样一个实际问题:54上已经在运行asp以及asp.net的网站,iis抢占了80端口,apache就不能使用了,这样难道你要别人在

单,在wamp中找到httpd.conf文件,将其中所有“80”字样替换成你想要的端口,重启apache就可以了。apache里面一共有4个地方

需要修改80:

listen

80,servername

localhost:80,namevirtualhost

*:80,前2个是默认的,后2个是配置了virtualhost才会出现。/pre

评论

加载更多