‘壹’ 如何在阿里云上部署php后端
首先你需要买一个阿里云服务器,买的时候可以选择操作系统(买完之后在控制台也可以更改操作系统)我使用的是CentOS,买完服务器之后需要添加一个多语言环境,这个需要到云市场搜索“多语言环境”并购买,有免费的,有收费的,看你需要哪一种,我用的免费的。然后进入控制台,找到云服务器ECS进入云服务器ECS,点击实例,里面有你购买的服务器点击更多,然后重置密码,重置密码后需要重启服务器,点击管理,右上角有重启选项,配置好之后返回,点击远程连接,这时他会给你一个管理终端密码,记住这个密码。
然后输入管理终端密码进入服务器。进入时需要输入登陆账号(默认是root) 和密码(刚刚重置的密码)然后就连接成功。接下来需要下载Xftp和Xshell,Xftp是用于文件传输,也就是将你本地的php网页传输到阿里云服务器上,Xshell是登录到阿里云服务器。
打开Xshell,新建会话取名字,我的名称是test,协议选SSH,主机是阿里云服务器的公网ip地址,在控制台的实例中可以看到。然后输入用户名(root)和密码就可以用Xshell操作阿里云服务器了。之后如果你的多语言环境(上面有提到)配置好了,那么打开浏览器输入公网地址会有下面的页面出现(如果被拒绝请关闭阿里云服务器的防火墙,输入service iptables stop):点击《CentOS Nginx PHP JAVA多语言镜像使用手册V1.6.pdf》,建议将手册看一看,里面有很多操作我就不一一说了。注意到有一个 phpMyAdmin ,这是阿里云服务器的数据库,点击进入可以用本地浏览器操作。phpMyAdmin的用户名和密码在使用手册里有,自己去看下。登陆后将你本地的数据库导入,你需要新建一个数据库(跟本地数据库相同),然后把从本地数据库导出的SQL文件导入到阿里云服务器上,数据库导入就成功了。 将你需要部署的网站部署到网站根目录下,就可以访问你的网站了。具体将Xshell打开,确保你也下载了Xftp,点击新建文件传输。它会自动运行Xftp,左边是你本地的目录,右边是你的阿里云的目录,找到你的php文件,将php文件拖入右边网站根目录下,就可以访问网站了,注意是网站根目录不是root。如果还有不懂的可以去后盾人看看相关的教材。希望对你有用。
‘贰’ 阿里云默认centos7上怎么安装php
首先更新系统软件</str>
$ yum update
安装nginx</str></str>
1.安装nginx源
$ yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2.安装nginx
$ yum install nginx
3.启动nginx
$ service nginx start
Redirecting to /bin/systemctl start nginx.service4.访问http://你的ip/
如果成功安装会出来nginx默认的欢迎界面
安装MySQL5.7.*
</str>
1.安装mysql源</str>
$ yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm2.安装mysql
$ yum install mysql-community-server
确认一下mysql的版本,有时可能会提示mysql5.63.安装mysql的开发包,以后会有用
$ yum install mysql-community-devel
4.启动mysql
$ service mysqld start
Redirecting to /bin/systemctl start mysqld.service5.查看mysql启动状态
$ service mysqld status
出现pid
证明启动成功
6.获取mysql默认生成的密码
$ grep 'temporary password' /var/log/mysqld.log2015-12-05T05:41:09.104758Z 1 [Note] A temporary password is generated for root@localhost: %G1Rgns!dD!v</str>
加粗的就是生成的密码
7.换成自己的密码
$ mysql -uroot -p
Enter password:输入上面的密码
成功输入后进入一下步,这里你估计会输入 好几次才进去8. 更换密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';这个密码一定要足够复杂,不然会不让你改,提示密码不合法;9.退出mysql;
mysql> quit;
10.用新密码再登录,试一下新密码
$ mysql -uroot -p
Enter password:输入你的新密码
11.确认密码正确后,退出mysql;
mysql> quit;
编译安装php7.0.0
</str>
</str>
1.下载php7源码包</str>
$ cd /root & wget -O php7.tar.gz http://cn2.php.net/get/php-7.0.1.tar.gz/from/this/mirror2.解压源码包</str>
$ tar -xvf php7.tar.gz
3.</str>
$ cd php-7.0.1
4.安装php依赖包</str>
</str>
$ yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel5.编译配置,这一步我们会遇到很多configure error,我们一一解决,基本都是相关软件开发包没有安装导致</str>
</str>
$ ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
configure error:
1.configure: error: xml2-config not found. Please check your libxml2 installation.
解决:
$ yum install libxml2 libxml2-devel
2.configure: error: Cannot find OpenSSL's <evp.h>
解决:
$ yum install openssl openssl-devel
3.configure: error: Please reinstall the BZip2 distribution解决:
$ yum install bzip2 bzip2-devel
4.configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/解决:
$ yum install libcurl libcurl-devel
5.If configure fails try --with-webp-dir=<DIR> configure: error: jpeglib.h not found.
解决:
$ yum install libjpeg libjpeg-devel
6.If configure fails try --with-webp-dir=<DIR>
checking for jpeg_read_header in -ljpeg... yesconfigure: error: png.h not found.
解决:
$ yum install libpng libpng-devel
7.If configure fails try --with-webp-dir=<DIR>
checking for jpeg_read_header in -ljpeg... yeschecking for png_write_image in -lpng... yesIf configure fails try --with-xpm-dir=<DIR>
configure: error: freetype-config not found.
解决:
$ yum install freetype freetype-devel
8.configure: error: Unable to locate gmp.h解决:
$ yum install gmp gmp-devel
9.configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决:
$ yum install libmcrypt libmcrypt-devel
10.configure: error: Please reinstall readline - I cannot find readline.h解决:
$ yum install readline readline-devel
11.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution解决:
$ yum install libxslt libxslt-devel
6.编译与安装
$ make && make install
这里要make好久,要耐心一下
7.添加 PHP 命令到环境变量
$ vim /etc/profile
在末尾加入
PATH=$PATH:/usr/local/php/bin
export PATH
要使改动立即生效执行
$ ./etc/profile
或
$ source /etc/profile
查看环境变量
$ echo $PATH
查看php版本
$ php -v
8.配置php-fpm
$ cp php.ini-proction /etc/php.ini
$ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf$ cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf$ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm$ chmod +x /etc/init.d/php-fpm
9.启动php-fpm
$ /etc/init.d/php-fpm start
配置nginx虚拟机,绑定域名</str>
1.
</str>
$ vim /etc/nginx/conf.d/php7.thinkcmf.com.conf这里可以把php7.thinkcmf.com.conf改成自己的域名把下面的内容复制到php7.thinkcmf.com.conf里server{
listen 80;
server_name php7.thinkcmf.com;
root /var/www/html/php7.thinkcmf.com; # 该项要修改为你准备存放相关网页的路径location / {
index index.php index.html index.htm;
#如果请求既不是一个文件,也不是一个目录,则执行一下重写规则if (!-e $request_filename)
{
#地址作为将参数rewrite到index.php上。
rewrite ^/(.*)$ /index.php/$1;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php/$1;}
}
#proxy the php scripts to php-fpm
location ~ \.php {
include fastcgi_params;
##pathinfo支持start
#定义变量 $path_info ,用于存放pathinfo信息set $path_info "";
#定义变量 $real_script_name,用于存放真实地址set $real_script_name $fastcgi_script_name;#如果地址与引号内的正则表达式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;fastcgi_param SCRIPT_NAME $real_script_name;fastcgi_param PATH_INFO $path_info;
###pathinfo支持end
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
}
2.重启nginx
$ service nginx reload
3.
$ vim /var/www/html/php7.thinkcmf.com/index.php</str>
把下面的代码复制到这个文件 里
<?php
phpinfo();
4.查看访问http://php7.thinkcmf.com
‘叁’ 阿里云安装lnmpa
官方地址: https://lnmp.org/
LNMP一键安装包是一个用linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
流程就是:安装lnmp,然后再安装pureftp,开放相应的端口,对各个应用服务器进行设置。
各个应用服务器进行设置:
对pureftp进行防火墙端口设置、阿里云安全组规则端口开放,用主动模式去连接ftp。
对mysql进行防火墙端口设置、阿里云安全组规则端口开放、设置root用户可远程ip连接。
对nginx进行防火墙端口设置、远程ip连接、阿里云安全组规则端口开放。
安装过程中,我选择安装 mysql 5.7,php 5.6,Jemalloc内存分配器
一些提示操作:可以查看/usr/lnmp/README,从lnmp1.4开始,不再安装pureftp,需要自己手动安装。见下文 安装PureFtp篇 。
搭建好lnmpa后,通过外网ip访问nginx,mysql,pure-ftp等有可能因端口问题访问失败,我们需要对防火墙进行设置。包括开启防火墙、开机自动启动防火墙、开放应用服务器对应的端口;
另附firewall的其他命令操作
开放了防火墙端口还不够,还需要再阿里云安全组规则页面进行再次开放端口。
我分别开放了21、22、80、88、3306、8080端口。
1、阿里云安全组规则,开放80端口
2、阿里云安全组规则,开放80端口
安装后, -h localhost 可以访问mysql,但是 -h 公网ip 无法正常登录mysql,提示2003错误。
网上很多说法是“因为centos7系统,即使关闭 firewalld,除了22端口,其余端口无法被外界访问,本地访问正常。”但经过测试,即使关了防火墙,访问其他端口时,未在==阿里云安全组规则==配置,也会被阿里云安全组规则进行挡住而无法访问。针对该问题,需要进行下面三步操作设置。
1、打开防火墙,然后开放防火墙3306端口
2、阿里云安全组规则,开放3306端口
3、mysql授权任何ip都可以远程该mysql服务器
默认LNMP是不安装FTP服务器的,如需要FTP服务器: https://lnmp.org/faq/ftpserver.html
我选择安装pureftpd ,当然也可以不按照pureftpd,直接使用xshell的xftp去操作。
这个ftp虚拟用户为 系统用户 下的虚拟用户。就是说,你通过ftp客户端登录后上传的文件的所有者(权限)为该系统用户。比如,将ftp用户test绑定到系统用户cjf下,那么登录ftp后,上传的服务器的文件所有者是cjf。这样就可以不用给你该系统用户的登录密码,免得你登录服务器去干其他坏事。
解决方法:更改Filezilla设置,编辑-设置-连接-FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。 ----------就是尝试==被动模式==不行的话,就用==主动模式==去连接。
以前总使用 ftp 公网ip ,登录后操作总是提示227,按网上教程说,把 ftp> passive 关闭被动模式,但还是无法正常使用,这是因为在 ftp 公网ip 会因为==ForcePassiveIP没开启==,==安全组端口没设置==而出现被动模式阻塞。相比 ftp 局部网内部ip 这种方式,更麻烦,且服务器开放了更多的端口,更加不安全。不建议这种操作。
如果你不想了解什么是主动模式、什么是被动模式的话,就记住:
关闭passive(不用操作,只是补充知识点)
主动模式和被动模式:
【内网穿透笔记】FTP映射出现227 Entering Passive Mode错误命令原因及解决方法
安装lnmpa后,可以在 /usr/local/apache/conf/httpd.conf 中看到,apache的根目录Directory也被设置到了 /home/wwwroot/deafualt,而非${apche_home}/htdocs。
在lnmpa的架构中,默认情况下,apache被用来提供访问php的服务器。
如果想让nginx反向代理,通过80端口就可以访问tomcat的项目的话,可以进行设置
vim /usr/local/nginx/conf/nginx.conf
vim tomcat-users.xml
通过putty或者SecureCRT安装lnmp时,网络突然掉线或者不小心putty被关掉等等原因,造成lnmp安装过程被中断怎么办,其实防止这种现象很简单,只要在安装lnmp前执行screen命令就可以了。
详细介绍: https://www.ibm.com/developerworks/cn/linux/l-cn-screen/
screen操作演示
微信公众平台消息接口开发在线调试系统
‘肆’ 如何在阿里云服务器上搭建PHP环境
要在阿里云服务器上搭建 PHP 环境,可以按照以下步骤进行操作:
登录阿里云服务器管理控制台,选择需要搭建 PHP 环境的服务器实例。
打开“管理控制台”>“系统工具”>“环境配置工具”,选择“安装 PHP”。
在弹出的“环境安装”简汪窗口中,选择 PHP 版本的选择,点击孙咐银“安装”按钮。
等待安装完成后,打开浏览器,输入服务器 IP 地址或域名,确认服务器是否成功连接。
在弹出的“连接成功”窗口中,点击“获取证书”,获取服务器的 SSL 证书。
回到阿里云控制台,选择“管理控制台”>“系统工具”>“环境配置工具”,选择“配置 PHP 环境”。
在弹出的“环境配置”窗口中,选择“则宴SSL 证书”选项卡,点击“更新证书”按钮,将 SSL 证书文件上传到服务器。
等待证书更新完成后,关闭“环境配置”窗口。
现在,您可以在浏览器中输入服务器 IP 地址或域名,确认服务器是否成功连接 PHP 环境。
以上是在阿里云服务器上搭建 PHP 环境的基本步骤。需要注意的是,在操作过程中可能会出现一些问题,例如证书错误、配置错误等,需要仔细排查问题并尝试解决。
7站VPS导航为您回答
选购VPS上www.7zhan.net
‘伍’ 阿里云centos怎么搭建php环境
运行 Terminal,输入命令 ssh username@ip,然后输入密码。
安装 Apache 软件:yum install httpd
设置 Apache 在服务器启动时运行:chkconfig --levels 235 httpd on
在 Apache 配置文件中配置域名:vi /etc/httpd/conf/httpd.conf,找到 ServerName ,添加“域名:80”,保存并退出。
重启 Apache:service httpd restart
浏览器中访问第4步配置的域名,如果出现“Apache 2 Test Page powered by CentOS”的页面,说明配置成功。
‘陆’ 阿里云windows server 2012怎么安装php环境
一:下载资源
1.下载 VC11 vcredist_x64.exe(32位下载VC11 vcredist_x86.exe),因为云服务器上只装了IIS,其他环境都没有。推荐下载英文版。
2.下载Apache httpd-2.4.9-win64-VC11.zip (32位 网址相同) 由于自2.2后Apache官网不再更新win版本
3.下载php php-5.5.10 选择线程安全版本 VC11 x64 Thread Safe
二:安装配置
A.安装 VC11 vcredist_x64.exe
B.安装配置php
1.将php 解压到自定义目录下,我这里选择和默认目录一样: C:/php55
2.将C:php55和C:php55ext加入环境变量PATH中
3.将C:php55php.ini-proction 复制一份,并重命名为php.ini
4.开启几个常用php扩展,用记事本打开C:php55php.ini
修改 721行 将; extension_dir = "ext" => extension_dir = "ext" (去掉extension前面的分号)
修改 873行 将;extension=php_mbstring.dll => extension=php_mbstring.dll(去掉extension前面的分号,这是php多字节字符串扩展)
修改 875行 将;extension=php_mysql.dll => extension=php_mysql.dll(去掉extension前面的分号)
修改 876行 将;extension=php_mysqli.dll => extension=php_mysqli.dll(去掉extension前面的分号)
5.在 cmd中输入 php -v 验证是否安装成功
C.安装配置Apache
1.将Apache 解压到自定义目录下,我这里选择和默认目录一样: C:/Apache24
2.打开C:apache24confhttpd.conf (推荐使用Notepad++ 可以看到行号)
说明:由于默认的IIS服务器使用80端口,因此我令Apache使用8080端口,后面会讲WindowsServer2012如何打开8080端口
修改 37行 ServerRoot "c:/Apache24" => ServerRoot "c:/Apache24"(这里输入的是你解压apache安装包的位置)
修改 58行 Listen 80 => Listen 8080
修改 217行 #ServerName www.example.com:80 => ServerName www.example.com:8080 (去掉前面的#,同时设定端口号8080)
修改 241行 DocumentRoot "c:/Apache24/htdocs" => DocumentRoot "d:/WebSites" (这个目录即为Apache服务器的虚拟根目录,可以自己设定)
修改 242行<Directory "c:/Apache24/htdocs"> =><Directory "d:/WebSites">(与241保持一致)
修改 262行AllowOverride None=> AllowOverride All
修改 267-269行
Require all granted
Order Deny,Allow
Allow from all
修改 275行 DirectoryIndex index.html => DirectoryIndex index.html index.php index.htm (我们添加了index.php index.htm)
修改 358行 ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" => ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" (依然一样不用改)
修改 374行 <Directory "c:/Apache24/cgi-bin"> => <Directory "c:/Apache24/cgi-bin"> (依然一样不用改)
在C:Apache24confhttpd.conf 最后一行添加
LoadMole php5_mole "c:/php55/php5apache2_4.dll" (这里与你下载的包有关)
AddType application/x-httpd-php .php .html .htm (注意.php .html .htm之间的空格)
PHPIniDir "c:/php55" (与自己的php安装目录一致)
3.安装
打开cmd,注意WindowsServer2012中的PowerShell与cmd还是有区别的,快捷键win+X 选择打开cmd
进入c:Apache24bin (你的Apache安装目录)
执行 httpd -k install(用PowerShell 无法执行这个命令)
4. 进入c:Apache24bin (你的Apache安装目录)
双击运行 ApacheMonitor.exe
不出意外,这时右下角已经有Apache的图标了,在自己的服务器云主机上从浏览器 访问 localhost:8080 以及 IP:8080 都可以发现成功了。
可能错误分析:
1. 右下角Apache面板显示 no services installed。说明Apache没有安装成功。
2. 服务器上键入 localhost:8080 以及 ip:8080 无法显示。说明httpd.conf 配置错误
3. 服务器上可以通过ip:8080 访问 外网不能访问。说明8080端口没有开放。你可以在cmd里面利用 netstat -ano查看端口开启情况。
但是通过外网来访问服务器 IP:8080 去发现无法连接。这是因为默认的8080端口没有打开。步骤如下:
阿里云WindowsServer2012打开8080端口方法:
1、进入控制面板 选择防火墙,选择高级设置
2. 左侧选择入站规则,右侧点击新建规则
3. 选择 端口
4. 选择TCP 下面特定端口填写8080
5. 允许连接
6.
7. 完成
这时通过外网 就可以以 IP:8080 方式访问Apache服务器了。
‘柒’ 阿里云ecs怎么配置php环境
云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务。
使用云服务器ECS就像使用水、电、煤气等资源一样便捷、高效。您无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,您可以随时扩容磁盘、增加带宽。如果不再需要云服务器,也能随时释放资源,节省费用。
ECS涉及的所有资源,包括实例规格、块存储、镜像、快照、带宽和安全组。您可以通过 云服务器管理控制台或者 阿里云 App 配置您的ECS资源。
云服务器ecs都有哪些作用呢?
1、完全管理权限:
对云服务器的操作系统有完全控制权,用户可以通过连接管理终端自助解决系统问题,进行各项操作;
2、快照备份与恢复:
对云服务器的磁盘数据生成快照,用户可使用快照回滚、恢复以往磁盘数据,加强数据安全;
3、自定义镜像:
对已安装应用软件包的云服务器,支持自定义镜像、数据盘快照批量创建服务器,简化用户管理部署;
4、拥有API接口:
使用ECS API调用管理,通过安全组功能对一台或多台云服务器进行访问设置,使开发使用更加方便。