如何将PHP源码将项目部署到云服务器自己的服务器上

个回答天前做到这一点的一种方法是让你的主版本的php设置为mod_php,并通过不同端口上的快速CGI运行所有其他的(例如81,82,83等)。但这并不能保证完全一致的行为。天前基于CentOS 5.6,仅适用于Apache1.启用rpmforge和epel yum存储库wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
2.安装php-5.1CentOS / RHEL 5.x系列包含php-5.1,只需安装yum即可,例如:sudo yum install php php-mysql php-mbstring php-mcrypt
3.从源代码编译并安装php 5.2和5.3对于PHP 5.2和5.3,我们可以在Internet上找到许多rpm软件包。但是,它们都与CentOS提供的php相冲突,所以我们最好从soure构建并安装它们,这并不难,关键是要在不同的位置安装php。但是,当将php安装为apache模块时,我们只能同时使用一个版本的php。如果我们需要在同一台服务器上运行不同版本的PHP,例如,不同的虚拟主机可能需要不同版本的PHP。幸运的是,酷酷的FastCGI和PHP-FPM可以提供帮助。在启用fastcgi的情况下构建并安装php-5.21)安装必需的开发包yum install gcc libxml2-devel bzip2-devel zlib-devel \
curl-devel libmcrypt-devel libjpeg-devel \
libpng-devel gd-devel mysql-devel
2)编译并安装wget http://cn.php.net/get/php-5.2.17.tar.bz2/from/this/mirror
tar -xjf php-5.2.17.tar.bz2
cd php-5.2.17
./configure --prefix=/usr/local/php52 \
--with-config-file-path=/etc/php52 \
--with-config-file-scan-dir=/etc/php52/php.d \
--with-libdir=lib64 \
--with-mysql \
--with-mysqli \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-mbstring \
--disable-debug \
--disable-rpath \
--with-bz2 \
--with-curl \
--with-gettext \
--with-iconv \
--with-openssl \
--with-gd \
--with-mcrypt \
--with-pcre-regex \
--with-zlib
make -j4 & /dev/null
sudo make install
sudo mkdir /etc/php52
sudo cp php.ini-recommended /etc/php52/php.ini
3)创建一个fastcgi包装脚本创建文件/usr/local/php52/bin/fcgiwrapper.sh#!/bin/bash
PHP_FCGI_MAX_REQUESTS=10000
export PHP_FCGI_MAX_REQUESTS
exec /usr/local/php52/bin/php-cgi
chmod a+x /usr/local/php52/bin/fcgiwrapper.sh
Build and install php-5.3 with fpm enabled
wget http://cn.php.net/get/php-5.3.6.tar.bz2/from/this/mirror
tar -xjf php-5.3.6.tar.bz2
cd php-5.3.6
./configure --prefix=/usr/local/php53 \
--with-config-file-path=/etc/php53 \
--with-config-file-scan-dir=/etc/php53/php.d \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--with-libdir=lib64 \
--with-mysql \
--with-mysqli \
--enable-mbstring \
--disable-debug \
--disable-rpath \
--with-bz2 \
--with-curl \
--with-gettext \
--with-iconv \
--with-openssl \
--with-gd \
--with-mcrypt \
--with-pcre-regex \
--with-zlib
make -j4 && sudo make install
sudo mkdir /etc/php53
sudo cp php.ini-production /etc/php53/php.ini
sed -i -e 's#php_fpm_CONF=\${prefix}/etc/php-fpm.conf#php_fpm_CONF=/etc/php53/php-fpm.conf#' \
sapi/fpm/init.d.php-fpm
sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod a+x /etc/init.d/php-fpm
sudo /sbin/chkconfig --add php-fpm
sudo /sbin/chkconfig php-fpm on
sudo cp sapi/fpm/php-fpm.conf /etc/php53/
配置php-fpm编辑/etc/php53/php-fpm.conf,更改一些设置。这一步主要是取消一些设置的注释,如果你喜欢,你可以调整它的值。pid = run/php-fpm.pid
listen = 127.0.0.1:9000
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
然后,启动fpmsudo /etc/init.d/php-fpm start
安装并设置mod_fastcgi,mod_fcgidsudo yum install libtool httpd-devel apr-devel
wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
tar -xzf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
sudo make top_dir=/usr/lib64/httpd/ install
sudo sh -c &echo 'LoadModule fastcgi_module modules/mod_fastcgi.so' & /etc/httpd/conf.d/mod_fastcgi.conf&
yum install mod_fcgid
设置和测试虚拟主机1)将以下行添加到/ etc / hosts127.0.0.1 web1.example.com web2.example.com web3.example.com
2)创建Web文档根目录并在其下放一个index.php以显示phpinfo切换到用户root,运行mkdir /var/www/fcgi-bin
for i in {1..3}; do
web_root=/var/www/web$i
mkdir $web_root
echo &&?php phpinfo(); ?&& & $web_root/index.php
注意:需要清空/ var / www / fcgi-bin目录,请勿删除它3)创建Apache配置文件(附加到httpd.conf)NameVirtualHost *:80
# module settings
# mod_fcgid
&IfModule mod_fcgid.c&
idletimeout 3600
processlifetime 7200
maxprocesscount 17
maxrequestsperprocess 16
ipcconnecttimeout 60
ipccommtimeout 90
&/IfModule&
# mod_fastcgi with php-fpm
&IfModule mod_fastcgi.c&
FastCgiExternalServer /var/www/fcgi-bin/php-fpm -host 127.0.0.1:9000
&/IfModule&
# virtual hosts...
#################################################################
#1st virtual host, use mod_php, run php-5.1
#################################################################
&VirtualHost *:80&
ServerName web1.example.com
DocumentRoot &/var/www/web1&
&ifmodule mod_php5.c&
&FilesMatch \.php$&
AddHandler php5-script .php
&/FilesMatch&
&/IfModule&
&Directory &/var/www/web1&&
DirectoryIndex index.php index.html index.htm
Options -Indexes FollowSymLinks
Order allow,deny
Allow from all
&/Directory&
&/VirtualHost&
#################################################################
#2nd virtual host, use mod_fcgid, run php-5.2
#################################################################
&VirtualHost *:80&
ServerName web2.example.com
DocumentRoot &/var/www/web2&
&IfModule mod_fcgid.c&
AddHandler fcgid-script .php
FCGIWrapper /usr/local/php52/bin/fcgiwrapper.sh
&/IfModule&
&Directory &/var/www/web2&&
DirectoryIndex index.php index.html index.htm
Options -Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
&/Directory&
&/VirtualHost&
#################################################################
#3rd virtual host, use mod_fastcgi + php-fpm, run php-5.3
#################################################################
&VirtualHost *:80&
ServerName web3.example.com
DocumentRoot &/var/www/web3&
&IfModule mod_fastcgi.c&
ScriptAlias /fcgi-bin/ /var/www/fcgi-bin/
AddHandler php5-fastcgi .php
Action php5-fastcgi /fcgi-bin/php-fpm
&/IfModule&
&Directory &/var/www/web3&&
DirectoryIndex index.php index.html index.htm
Options -Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
&/Directory&
&/VirtualHost&
4)重新启动apache。请访问3个站点以查看phpinfo并验证结果。即:http://web1.example.com
http://web2.example.com
http://web3.example.com他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
本地用的apache+php+mysql环境,服务器上用的是nginx+php-fpm+mysql,把代码部署到服务器上去,然后首页显示正常,其他所有站内链接点击无效,但点击该链接的时候,用firebug查看,是发现一切正常的,response的内容也正常,就是没有显示到页面上来,站外链接是正常的,开始以为是nginx的rewrite模块的问题,但网上查资料说rewrite模块有问题应该是报500服务器错误,请各位帮忙指点指点问题所在,谢谢了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
程序编码检查一下,是否UTF8
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。php-用阿里云服务器如何搭建一个网站?
作者:用户
浏览:1468 次
用阿里云服务器如何搭建一个网站?5C今天买了一个阿里云服务器和一个域名,域名绑定了,也解析了,在网上下载了一套PHP源码,用phpstudy搭建了一个环境,不知道,怎么把代码上传到阿里云服务器中,并且
用阿里云服务器如何搭建一个网站?
今天买了一个阿里云服务器和一个域名,域名绑定了,也解析了,在网上下载了一套源码,用phpstudy 搭建了一个环境,不知道,怎么把代码上传到阿里云服务器中,并且直接使用?(初学者,希望大神们教下,谢谢!)
代码上传到阿里云服务器可以使用ftp,也可以在服务器上搭建svn、等来实现,使用的话等你把代码上传到服务器可以直接访问的目录下之后直接输入ip或者域名就好了
解决方案二:
有几种办法,您可以参考一下
第一种:在阿里云服务器里建一个FTP服务商,在本地用FTP客户端上传文件
第二种:进阿里云服务器远程界面的时候,把本地磁盘带进去,然后进服务器里直接从本地磁盘里把文件复制到服务器里
第三种:QQ安装到阿里云服务器里,用QQ对传
第四种:把本地文件上传到邮箱里 ,然后进阿里云服务器里打开您的邮箱,进去下载文件即可
解决方案三:
我帮你弄。
解决方案四:
首先配置好 服务器(在服务器上配置ftp服务器)
然后通过ftp上传网站文件
然后在做域名解析 基本就可以访问了 。
如果是服务器 得自己配置 环境(ftp,php环境等)。
解决方案五:
首先要备案,之后就直接ftp或者ssh穿上去配置就可以了
解决方案六:
阿里云使用,第一步购买;第二步配置环境啊,那是个空主机,需要格式化安装软件,第三步上域名注册的地方解析域名把服务器ip弄过去,第四步,用工具连接服务器,把代码传上去
更多关于阿里云CentOs环境配置:http://snowcoal.com/article/750.html
【云栖快讯】直播推荐——现在报名3月12日编程语言系列讲座,与行业资深专家一起学习Python、C++、JavaScript、Java!还可在活动页面领取红包,百分百中奖哦!&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
IT采购开年惠,百款产品5折起,新购满额再返最高6000!一个新手从零搭建服务器的笔记教程 - ThinkPHP框架
这篇教程也是写给自己,作为以后自己忘记了再拿出来看。大家如果懂的可以指点,如果不懂的新手也可以作为参考。
一个带新手上路的博客 第一步:
首先呢,你肯定要先去买一个服务器。我是去阿里云买的。这里就不详细说了。因为配置的问题主要看自己的需求。我们说买好之后要干的事情。
要下载俩个工具,主要是用来连接服务器的。
一个是xshell ,另外一个是ftp
去阿里云市场购买一个LINUX一键安装web包。这个包可以安装Apache与Nginx俩个不同的web服务器。
地址是:https://market.aliyun.com/products//cmgj000262.html
使用XSHELL连接到服务器,这个想必只要大家有了阿里云给的账号密码都会连接吧。连接上之后,打开FTP工具。把一键安装包上传到root目录下。
给一键安装包赋权限 ,然后执行安装
输入命令:chmod&-R&-777&sh-1.5.3
cd&sh-1.5.3
./install.sh接下去的操作按照提示选择安装的WEB环境就好。选择好了就会自动安装了。需要15分钟这样吧。
这样就基本完成了一个服务器的安装,接下来介绍一下环境目录及相关操作命令网站目录:/alidata/www
服务器软件目录:/alidata/server
Mysql目录:/alidata/server/mysql
Php目录:/alidata/server/php还有个服务器的操作命令汇总:nginx:&/etc/init.d/nginx&start/stop/reload
apache:/etc/init.d/httpd&start/stop/restart
mysql&:&/etc/intit.d/mysqld&start/stop/restart
ftp&:&/etc/init.d/vsftpd&start/stop/restart接下来就给介绍如何进行网站部署和网站迁移
首先,通过FTP软件把你的站点目录XXX上传到/alidata/www/目录下,并且修改目录所属组。(注意www目录下默认会有phpwind,如果你不需要该论坛可以自行删除)chown&.www&/alidata/www/xxx&-R第二步:
修改Apache的配置文件,默认情况只有一个phpwind.confcd&/alidata/serverhttd/conf/vhosts/
cp&-p&phpwind.conf&xxx.conf
vim&xxx.conf如何配置这个文件想必大家都已经懂了,不然在本地也运行不了。主要是修改几个地方
第一 把网站目录写对了
第二 把自带的伪静态规则删掉
第三 修改日志生成名字
改好之后按ESC ,输入冒号 输入wq 回车键,保存配置文件。
最后重启Apache服务器&/etc/inti.d/httpd&restart&到这里你们就可以在浏览器输入IP就可以访问你的网站了,但是肯定会出错。因为你还没有配置好数据库。接下里我们就来配置数据库和数据导入。
第一步:把你本地数据导出一份.sql,然后用FTP上传到服务器上。
第二步:登录数据库&mysql&-u&root&-
这里可能会有人发生这样一个错误-bash:&mysql:&command&not&found
这是因为没有给mysql&建立快捷方式
首先我们先找到mysql&的存放位置,如果有印象你肯定知道在哪里。不过我们用命令来找到它。
find&/&-name&mysql
假设查找到的路径为/usr/local/mysql/bin/mysql,可以使用下面的命令设置一个链接:
ln&-s&/usr/local/mysql/bin/mysql&/usr/bin/mysql
然后就可以使用mysql命令了。
注意:FTP&和&mysql&的账号密码在&cat&/root/sh-1.5.3/account.log到这里想必你已经连接上了数据库。接下来我们先创建一个数据库create&databse&&use&接下来我们就把数据库导入进去source&/root/xxx.sql这样我们就完成了数据库的导入了。我们可以通过show&来查看数据表是否已经成功导入到这里你只要修改你项目的配置文件,把数据库账号密码改正确。项目就可以正常访问了。当然我们还希望可以在本地连接数据库。使用管理工具会让管理数据库更加直白。
但是你直接连是链接不上的,因为你没有权限。所以你需要给账号赋予权限。我之前已经写过教程了地址:
到这里基本就已经完成了服务器的安装,与项目的迁移了。如果你有什么不懂的地方,可以留言。或者加我QQ .
当然我也不是什么高手,如果你们发现有哪里不好的或者写的不对的。可以指出我会加以改正.谢谢大家
一个带新手上路的博客
积分:2270
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

我要回帖

更多关于 将项目部署到服务器上 的文章

 

随机推荐