王老狗博客电话15858213085

烟台网站优化_烟台seo_烟台网络推广_烟台网站建设_王老狗博客电话15858213085

上一篇: 阿里云:ECS云服务器购买配置指南推荐1核1G内存推荐CentOS,6.5 64位,增加一块数据盘 下一篇:淘宝客:博客起名类淘宝客赚钱思路举例lofter等

步骤二(软件环境准备) 原文链接https://help.aliyun.com/document_detail/25805.html

应用环境是通过 yum命令访问 Remi repository 源进行安装。 Remi repository 源包含 PHP 的 Linux 源,由 Remi 提供维护。Remi 也提供了自动安装源的 rpm 包,安装和使用都很简单。使用 YUM 安装或更新 PHP等服务器相关程序的时候就非常方便了。 需要您使用root身份权限执行如下两条命令加装两个源:

rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

1.环境安装

  • 安装Nginx
配置nginx最新版软件源 vim /etc/yum.repos.d/nginx.repo   写入如下内容: #nginx.repo    [nginx]   name=nginx repo   baseurl=http://nginx.org/packages/centos/6/$basearch/   gpgcheck=0   enabled=1  然后执行如下命令安装nginx: yum --enablerepo=remi,remi-test install -y nginx  设置开机启动Nginx,执行如下命令: chkconfig nginx on  Nginx 应用根目录到数据盘 /data下的 nginx子目录变更: mkdir /data/nginx mkdir /data/nginx/log mv /usr/share/nginx/html /data/nginx ln -s /data/nginx/html /usr/share/nginx/html chown nginx:nginx -R /data/nginx/html/ 
  • PHP及依赖软件安装
安装命令: yum --enablerepo=remi,remi-test install -y php php-common  \           php-mysql php-pgsql php-pecl-mongo php-sqlite  \           php-pecl-memcache php-pecl-memcached php-gd  \           php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo 
  • Php-fpm安装
安装命令: yum --enablerepo=remi,remi-test install -y php-fpm  设置开机启动php-fpm,执行如下命令: chkconfig php-fpm on 

2.应用环境配置

  • Nginx配置
首先备份安装后原始的nginx默认配置 /etc/nginx/conf.d/default.conf 命令如下: cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak 

修改 /etc/nginx/conf.d/default.conf,内容参考:default.conf

启动nginx:  service  nginx start 
  • php.ini配置
首先备份安装后的原始的/etc/php.ini ,命令如下 cp /etc/php.ini /etc/php.ini.bak 

修改 /etc/php.ini,内容参考:php.ini

php.ini修改说明:

配置名 改后值 改前值
short_open_tag On Off
disable_functions dl,getopt,ini_get_all,ini_restore,php_ini_loaded_file,
php_ini_scanned_files,ini_alter,chroot,chgrp,chown,
lchgrp,lchown,symlink,system,exec,shell_exec,proc_open,popen,
proc_nice,proc_get_status,proc_close,passthru,proc_terminate,
escapeshellcmd,escapeshellarg,stream_socket_pair,
stream_get_transports,stream_socket_server,
import_request_variables,get_headers,openlog,syslog,closelog,
debug_zval_dump,mb_send_mail
未启用
expose_php Off On
error_reporting E_ALL & ~E_DEPRECATED & ~E_NOTICE E_ALL & ~E_DEPRECATED & ~E_STRICT
error_log /data/nginx/log/php_errors.log 未启用
html_errors Off On
variables_order "EGPCS" "GPCS"
upload_max_filesize 20M 2M
date.timezone "Asia/Shanghai" 未启用
open_basedir "/tmp/:/data/nginx/html/" 未启用
session.save_path "/tmp" 未启用
post_max_size 20M 8M
cgi.fix_pathinfo 0 1
为了降低安全风险,您还需要更名 /etc/php.d 目录下不需要的扩展配置文件 xxx.ini 文件为 xxx.ini.remove, 命令如下: mv /etc/php.d/posix.ini  /etc/php.d/posix.ini.remove mv /etc/php.d/phar.ini  /etc/php.d/phar.ini.remove mv /etc/php.d/sysvmsg.ini /etc/php.d/sysvmsg.ini.remove mv /etc/php.d/sysvsem.ini  /etc/php.d/sysvsem.ini.remove mv /etc/php.d/sysvshm.ini /etc/php.d/sysvshm.ini.remove mv /etc/php.d/wddx.ini /etc/php.d/wddx.ini.remove 
  • Php-fpm 配置
先备份默认生成配置文件 cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak 

修改 /etc/php-fpm.d/www.conf, 内容参考:www.conf

修改说明:

配置名 改后值 改前值
security.limit_extensions .php .html .htm 未启用
request_slowlog_timeout 5s 未启用
user nginx apache
group nginx apache
php_value[session.save_path] 注释掉使用/etc/php.ini里的定义 /var/lib/php/session
启动php-fpm: service  php-fpm start 

步骤三(本地读写的数据下载)

ACE控制台将提供PHP应用本地读写数据的打包下载功能。(注:此功能仅向下线公告发出前1个月内有活跃的PHP应用提供,下文简称为“活跃应用”)

1.在您的应用列表的操作栏中,每个活跃应用将出现“迁移打包”按钮。
2.您的每个活跃应用只能触发一次“迁移打包”操作。当您点击“迁移打包”按钮后,此应用运行空间上的本地读写文件将会打成一个tgz包,并存放在oss上一个私有的、独立的bucket中。(注:考虑到大量用户可能会在同一时间申请活跃应用的打包迁移,我们预计会在2〜48小时内完成打包。)
3.在等待打包的过程中,“迁移打包”按钮将会变为“打包中”的文案展示,此时请您耐心等待打包的结果。
4.当打包完成后,对应的应用将出现“下载迁移包”按钮。
5.当您点击“获取迁移包”按钮后,我们将展示相关tgz包的下载链接。链接中我们加签了对此tgz包的读权限临时授权,请在30分钟内完成点击此链接、向OSS发起下载请求(超过30分钟后再请求此链接,将会抛出拒绝访问的错误)。请您不要把链接泄露给任何人。
6.当您发现链接拒绝访问(未及时下载),请再次点击“下载迁移包”按钮即可获取含有新授权信息的下载链接。
注:
1.本次打包的仅包含您的PHP应用本地读写、并配置为多实例间同步的数据(具体请参考https://help.aliyun.com/document_detail/ace/quick-start/php/yaml.html 中“本地读写同步OSS(storage)”)
2.解压后的tgz包的一级目录是数字,对应您ACE控制台-版本管理中的版本号。每个数字目录中的内容,即为您该版本代码部署时的PHP应用本地写入的文件。文件的路径结构和PHP应用的本地结构一致。

  • 文件托管在自有OSS服务中的数据获取方式:

如果您在应用的app.yaml 里配置了
oss_id: access_key #请填写阿里云用户中心->安全认证中生效状态的access_key
oss_secret: secret_key #请填写access_key对应的secret_key
oss_bucket: bucket_name #请指定用于存储文件bucket
保存运行空间数据。
由于ACE 存在文件到mybucket 下的路径规则是 bucket_name/ACE分配的aliapp.com二级域名/代码部署版本号
举例说明:应用testace1举例
在 app.yaml 里配置的
oss_bucket:myossbucket
分配的二级域名:testace1.aliapp.com
当前部署的版本:1
则在OSS上存储路径为:myossbucket/testace1.aliapp.com/1

步骤四(扩展服务迁移)

参考文档

步骤五(代码改造)

1.Cache改造

  • 改造说明:去除ACE提供的Cache的SDK的依赖
  • 改造后示例:参考文档

2.Storage改造

  • 改造说明:去除ACE提供的Storage的SDK的依赖
  • 改造后示例:参考文档

步骤六(搭建应用)

1.下载源码:从ACE控制台选择源码分支(svn),Checkout并将源码上传至目标服务器。

2.部署应用

  • 启动容器

1.上传应用代码到nginx站点根目录 /data/nginx/html下 如果您迁移过mysql,根据您的实际mysql配置信息修改对应的数据库配置信息程序文件
2.修改应用程序权限为 nginx chown -R nginx:nginx /data/nginx/html
3.启动php-fpm和nginx service php-fpm start service nginx start
4.解析域名到您ECS公网IP
5.解析生效后通过域名进行访问测试

  • 验证部署的应用
    在浏览器查看应用是否部署成功:http://${YourServerIp}/ ${YourServerIp}为你购买的ECS的公网Ip。 看到应用首页面,部署成功! 

步骤七(域名迁移)

参考文档

迁移至Docker

  • Docker介绍

参考文档:容器服务

目前Docker正处在公测中,请及时关注相关消息。

常见问题

  • Q:原ACE PHP应用使用ACE PHP SDK或 扩展服务迁移问题?

    A:需要您先对原代码涉及PHP SDK或扩展服务部分进行改造,去掉对依赖后再上传代码到ftp空间的 htdocs目录下。 
  • Q:原ACE PHP 应用在app.yaml 配置URL 重写规则如何迁移?

    A:您需要在弹性web 应用的ftp空间里的 htdocs目录下,上传 .htaccess文件。 文件内容需要参考:http://httpd.apache.org/docs/current/mod/mod_rewrite.html 等相关参考资料。 将原来配置在 app.yaml 配置的规则nginx语法声明的url rewrite 规则转换成apache支持语法规则即可。 
  • Q:原ACE PHP 应用有针对某个目录禁止某些后缀文件访问规则如何迁移?

    A:比如需求是禁止访问test目录下 图片,css文件,js文件 在htdocs/test下上传如下内容的 .htaccess文件 <FilesMatch .(?i:gif|jpe?g|png|css|js)$> Require all denied </FilesMatch> 
  • Q:弹性WEB 应用如何禁止IP访问?

    A:由于web请求先到路由层,所以需要通过 http请求头的X-Forwarded-For 字段获取客户端真实IP。 参考如下: 禁止 200.1.253.1200.1.253.2 两个IP 和 200.1.2 网段 。 需要在 htdocs下上传如下内容的.htaccess RewriteEngine On ##Block ip RewriteCond %{http:X-Forwarded-For} (200.1.253.1|200.1.253.2|200.1.2) [NC] RewriteRule (.*) – [F] 
  • Q:网站访问有时出现 503 超时问题?

    A:一般因为网站是 wordpress 等程序,此论坛程序在加载过程复杂占内存大 弹性web的是内存资源根据型号有限制的,您购买的是128M内存型号,每个php进程 分配最大48M,后台启动2个 php-fpm,其他内存分配给web容器apache使用。 建议购买 512以上内存型号,或者购买 云虚拟主机产品(此产品是共享内存,php进程最大是128M限制) 
  • Q:用户需要支持path_info模式?

    A:目前弹性web暂时不支持 开启  cgi.fix_pathinfo=1 后期会增加支持,请通知客户退了应用,购买linux版的云虚拟主机。 
  • Q:应用启动失败?

    A:可能使用因为用户配置的  .htaccess 文件使用的apache2.2语法,因为检查启动http状态码逻辑获取返回值是500 错误导致。 建议用户先删除 .htaccess文件,然后就可以启动了。 启动后再参考 apache2.4的语法进行设置,参考: http://httpd.apache.org/docs/2.4/ 举例: 查看用户 htdocs/.htaccess  文件内容 <FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)$"> order deny,allow deny from all </FilesMatch> 使用的是 apache2.2语法,应该改成 apache2.4语法: <FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)$"> #order deny,allow #deny from all Require all denied </FilesMatch> 然后,在控制台 重新启动一下应用。 
  • Q:ssi 支持shtml?

    A:由于ssi功能会增加通过 shtml语法执行获取服务端环境信息的风险。 目前暂不支持。 
  • Q:首页设置问题?

    A:介绍一下 弹性web首页设置的顺序规则如下: 1.静态页文件放到前面 2.只支持一个 动态页面 比如设置顺序为 index.html zhuye.html index.php 是正确的。 如果顺序为  index.html index.php zhuye.html 是不支持的。 请您 确保上传   首页文件后再测试一下。 
  • Q:为什么我的ACE PHP应用没有本地读写的数据“迁移打包”按钮?

    A:此功能仅向正常使用中的ACE应用(运行中/停止),或者ACE应用已禁用、但是禁用时间在2月6号后的PHP应用提供。 
  • Q:为什么我的ACE PHP应用显示的打包结果为空?

    A:本次打包的仅包含您的PHP应用本地读写、并配置为多实例间同步的数据(具体请参考https://help.aliyun.com/document_detail/ace/quick-start/php/yaml.html 中“本地读写同步OSS(storage)”)。若您的应用有以下情况之一,将不会产生任何待打包的文件,此时打包工具将向您显示“没有本地读写的数据可供打包下载”: 1.从未被部署。 2.应用没有任何PHP本地文件写入操作。 3.yaml文件自行修改为不需要实例间数据同步。 
  • Q:本地读写的数据打包的tgz压缩包的目录结构如何理解?

    A:解压后的tgz包的一级目录是数字,对应您ACE控制台-版本管理中的版本号。每个数字目录中的内容,即为您该版本代码部署时的PHP应用本地写入的文件。文件的路径结构和PHP应用的本地结构一致。 
  • Q:能不能多次发起本地读写的数据打包操作?

    A:不允许。此功能每个应用仅提供一次。如果您打包后仍有新增的本地写入,这部分增量数据请自行导出。 
  • Q:我已经点击了本地读写的数据的“迁移打包”按钮,请问大概多久可以打包完成?

    A:考虑到大量用户可能会在同一时间申请应用的打包迁移,我们预计会在2 ~ 48小时内完成打包。打包的时间点不保证,视乎打包排队的情况。 
  • Q:申请本地读写的数据的“迁移打包”后,控制台上提供的tgz包URL无法下载?

    A:当您点击“获取迁移包”按钮后,我们将展示相关tgz包的下载连接。连接中我们加签了对此tgz包的读权限临时授权,请在30分钟内完成点击此链接、向OSS发起下载请求(超过30分钟后再请求此链接,将会抛出拒绝访问的错误)。当您发现连接拒绝访问(未及时下载),请再次点击“获取迁移包”按钮即可获取含有新授权信息的下载连接。请注意:不要把此连接泄露给其他人。 
  • Q:申请本地读写的数据的“迁移打包”后,显示打包失败?

    A:少量用户的PHP本地读写数据太大,无法自助打包,请提交工单申请手工处理。 
  • Q:为什么我的ACE PHP应用没有本地读写的数据打包下载的功能?

    A:您好,此功能仅向正常使用中的ACE应用(运行中/停止),或者ACE应用已禁用、但是禁用时间在2月6号后的PHP应用提供。 

点击这里获取该日志的TrackBack引用地址

  • Gravatar Icon
    回复
  • quote 1.原力二元期权2016-11-15 14:59:33
  • 这篇文章不错,欢迎看一下我的 原力二元期权 https://www.forexsporthk.com/ 谢谢ozxnn
  • Gravatar Icon
    回复
  • quote 2.FgqH1H2016-12-13 23:03:00
  • 深圳国安妇科医院http://www.szguoan.com
  • Gravatar Icon
    回复
  • quote 3.原力二元期权2016-12-24 20:06:48
  • 免费卡位送iphone7手机! 原力二元期权 https://www.forexsporthk.com/ 谢谢1dgoe

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于本文

您正在阅读的是:阿里云:ECS之linux环境下的nginx+mysql环境搭建教程
kevin482 发表于:2016-10-20 14:23:29
分类:生活点滴
关键词:阿里云  

博客作者

王老狗博客电话15858213085

最近发表

最新评论及回复

最近留言

控制面板

Search

网站分类

文章归档

图标汇集

点击这里给我发消息

鲁ICP备09047409号-3