阿里云ecs怎么搭建php环境
感谢鲁智深的好帖
一、阿里云ECS(linux)使用Xshell连接服务器
下面就要准备好连接Linux服务器的工具,个人是使用Xshell。
下载地址百度软件中心(中文汉化版)
xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
安装Xshell后,打开Xshell出现一下键面:
xshell_1
设置云服务器登录信息如下图:
xshell_2
设置服务器登录帐号密码:
注意阿里云服务器用户名一般是root,密码请查看阿里发送的邮件
xshell_3
设置字符集编码utf-8
xshell_4
设置好了就点击ok保存。
下面就来看看我的连接后的庐山正面目吧。
xshell_5
黑黑的什么也看不清是不是!
其实就是这样,Linux就是一台藏在机房里的的电脑,它不像windows有华丽的桌面(就像我们现在用的pc电脑桌面),因为它不需要!做为一个服务器只需要提供网络服务就可以了,华丽的桌面只会占用资源。
二、阿里云ECS(linux)挂载数据盘
首先是用(fdisk -l)命令查看是否有数据盘
fdisk -l命令
用红框标出的是数据盘大小21.4GB,本人买的是20G的硬盘阿里云还多送1.4G,这体验不错。
对数据盘进行分区
命令:fdisk /dev/xvdb
fdisk /dev/xvdb
依次输入“m”(查看命令参数)
在依次输入“n”,“p”,“1”,”两次回车“,“wq”
数据盘进行分区
检查已划分好的新区
命令:fdisk -l
新区dev/xvdb1
如图上已经划分出了分区1。
格式化新分区
使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。
格式化新分区
添加分区信息
使用“echo ‘/dev/xvdb1 /mnt ext3 defaults 0 0’ >> /etc/fstab”(不含引号)命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。
添加分区信息
挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。
挂载新分区
出现(/dev/xvdb1 20G 173M 19G 1% /mnt)就表示挂载成功了。
三、阿里云ECS(linux)一键安装web环境
准备好连接linux服务器的工具,推荐用xshell和xftp。
首先登录云服务器教程《使用Xshell连接阿里云服务器》打命令去主目录(/home)看下如下:
命令一:
cd /home
命令二:
cd /home && mkdir tmp && cd tmp
配置web环境(一)
点击xshell上图标xftp4就可以直接链接到xftp4软件页面,将下载好的sh文件上传到/home/tmp文件夹中如下图:
web环境配置(二)
重新链接服务器(xshell),不重新链接会造成无法找到sh文件目录。
我们就在测试一下键入一下命令:
cd /home/tmp
在键入:
ll
会出现如下键面
web环境配置(三)
在按照下面的命令
命令一
chmod –R 777 sh
命令二
cd sh
命令三
./install.sh
会出现以下图片:
web环境配置(四)
根据需要选择apache或者nginx服务器,我选择的是apache,命令如下
a
为什么我会选择apache,目前apache是全球安装量最大的web服务器软件,也是完美兼容wordpress一款软件,阿里云官方推荐nginx软件,虽说性能优于apache,但兼容性不敢保证,本人也不是服务器高手,还是老实点。(不管你信不信反正我信了)
下面就坐等安装,抽根烟、泡杯茶~~~~~~~~~~。
出现如下界面就等于完成了。
web环境配置(五)
阿里的linux一键安装包已经把ftp软件
那如何找到ftp帐号密码呢,直接键入命令:
cat account.log
注意需要在sh目录下面键入。
web环境配置(六)
好了。所有配置都已经完成了。是不是很简单!
网站目录:/alidata/www
服务器软件目录:/alidata/server
Mysql 目录 /alidata/server/mysql
Php目录/alidata/server/php
选择了apache那么会有一个httpd 目录在
/alidata/server/httpd
apache 配置文件在/alidata/server/httpd/conf
apache虚拟主机添加 你可以修改/alidata/server/httpd/conf/vhosts/phpwind.conf
四、阿里云ECS(linux)修改myspl数据库密码
其实在这里有人会重新配置环境,让软件从新配置一次(ps:总不能第二次密码还是空吧)。
博主是个技术宅,既然遇到的问题就应该去解决,花了半天的时间在云小组技术人员帮助下终于修改成功了。
如何修改myspl数据库密码
首先进入云服务器中,进入阿里云ECS默认是myspl数据库文件夹;
cd /bin
下面就要开始了!
关闭myspl数据库
killall -TERM mysqld
启动myspl数据库
mysqld_safe –skip-grant-tables
这样就可以不需要密码就可以进入myspl数据库了
进入myspl数据库
mysql
执行以下命令:(ps:分别键入)
use mysql;
update user set password=PASSWORD(‘密码自己改’) where User=’root’;
flush privileges;
quit
确认是否写入密码
mysql -uroot -ptest
重新启动myspl数据库
service mysqld restart
到这里就已经结束了,这里注意的是,如果你想用cat account.log命令去查看数据库密码的话,还会显示“空”,因为cat account.log命令只能查看到linux一键web环境配置所生成的密码,所以你修改后,用cat account.log命令是查看不到的。
如何登录myspl数据库
回到主目录下面命令如下:
cd
键入登录myspl数据库命令
mysql -u root -p
就可以看到如下图:
myspl密码键入
password是代表密码的意思,这里你键入密码是不再xshlle中显示的,这是linux类系统为了安全起见,对输入的密码进行了隐藏,你只要输入正确的字符串即可。
登录成功会看见Welcome Sign In….myspl…等等,打工告成!
五、阿里云ECS(linux)安装wordpress程序
首先用xftp链接服务器(ps:怎么链接上文已经说明),进入alidata/www/phpwind/下面就是程序文件,ctrl+A全选删除,上传已经下载好的wordpress,注意的是wordpress程序是你原网站的所有程序,如下图:
安装wordpress
用服务器ip地址在浏览器中打开112.124.xx.xxx,打开后你会看见wordpress安装键面,需要输入数据库名称、数据库用户名、密码、数据库表前缀。
到这里你会发现提示,数据库密码正确,但无法创建数据库表。这里就需要数据库管理程序phpmyadmin(ps:如果你的服务器配置高手可以直接命令创建数据库表)。
首先下载phpmyadmin 上传到/alidata/www/phpwind文件目录下如下图:
安装wordpress
phpmyadmin文件夹名可自定义(ps:到这里你可能是明白了phpmyadmin其实就是一个网站而已)
用:ip地址/phpmyadmin文件夹名,在浏览器中打开进入phpmyadmin网站,输入数据库用户名,密码进入phpmyadmin后台,创建数据库表怎么创建数据库表我想大家应该都会的。
好了,用ip地址在浏览器中打开试试,是不是可以创建wordpress。
恭喜你创建wordpress成功!
六、阿里云ECS(linux)安装postfix发送邮件
postfix安装教程
postfix
我喜欢这只小老鼠!
一、安装postfix
如果您安装了sendmail请先卸载它
命令:
yum remove sendmail
安装:
yum install postfix
更改默认MTA为Postfix
命令:
/usr/sbin/alternatives –set mta /usr/sbin/sendmail.postfix
再次检查下是否将MTA改为Postfix了。
命令:
alternatives –display mta
配置Postfix,vi编辑main.cf
vi /etc/postfix/main.cf
输入?myhostname 查找定位以此类推
二、配置Postfix相关参数
1.找到 #myhostname = host.domain.tld , 修改成:myhostname = mail.yujzw.com (你自己的域名)
2.找到 #mydomain = domain.tld ,将等号后面的部分改写为你的域名,修改成:mydomain = yujzw.com(此处设置将成为E-mail地址“@”后面的部分)
3.找到 #myorigin = $mydomain ,只需将首行的#号去掉即可,其他无需变动
4.找到 inet_interfaces = localhost ,将“localhost”改为“all” ,接受来自所有网络的请求
5.找到 mydestination = $myhostname, localhost.$mydomain, localhost,在行尾添加“$mydomain”,修改成:mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ,指定发给本地邮件的域名
6.找到 #relay_domains = $mydestination ,只需要将行首的#去掉,定义允许转发的域名
7.找到 #mynetworks = 168.100.189.0/28, 127.0.0.0/8 去掉前面的#号,指定内网和本地的IP地址范围,按照情况修改,一般无需变动
8.找到 relay_domains = ,修改成: relay_domains =
9.找到 #home_mailbox = Maildir/ ,去掉行首的#,指定用户邮箱目录
启动命令
service postfix start
检测是否运行中
master (pid 25579) is running…
设置开机启动
chkconfig postfix on
安装已经结束了,此功能已经实现邮件发送,不需要配置邮件服务器。
这里要注意的是!
如果你没有设置过php.ini文件的话就需要重新设置一边,否自不能实现发送邮件。
设置php.ini文件
编辑php.ini
vi /alidata/server/php-5.2.17/etc/php.ini-zend_optimizer.bak
vi /alidata/server/php-5.2.17/etc/php.ini
找到
;sendmail_path =
按 i 进入编辑,将这行修改为
sendmail_path = /usr/sbin/sendmail -t -i
按 Esc 键退出编辑,输入 :wq 保存退出,重新启动阿里云ecs服务器。
wordpress邮件检测发送功能
WordPress不能发信是不是由博客空间引起的,可以使用以下方法检测。新建一个php文件,命名为mail.php ,打开并填上以下代码:
|
1
2 3 4 5 6 7 8 |
<?php
$txt = "hello"; // 以下的邮箱地址改成你的 $mail = \'somebody@xxx.com\'; // 发送邮件 mail($mail, "My subject", $txt); echo \'message was sent!\'; ?>; |
保存并上传至你的网站根目录,并在浏览器运行:
网址:
http://你的博客网址/mail.php
邮箱查收邮件,如果收到标题为 My subject 的邮件,说明你的空间支持mail()函数发送邮件,也就是WordPress默认的发信方式。
可能用到的命令
/etc/init.d/postfix start (启动postfix)
/etc/init.d/postfix stop (关闭postfix)
/etc/init.d/postfix restart (重启postfix)
service postfix restart (检测运行postfix)
postsuper -d ALL(清除所有发送队列)
postqueue -p(查看邮件)
七、阿里云ECS(linux)拒绝ip地址直接访问网站
打开xshll链接阿里云服务器,找到.conf文件,根据自己的放置目录决定。
打开编辑
命令:
vim /alidata/server/httpd-2.2.22/conf/vhosts/wordpress.conf
在底部加上如下参数:
|
1
2 3 4 5 6 7 8 9 10 11 |
<VirtualHost 112.124.xx.xxx>
ServerName 112.124.xx.xxx <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> <VirtualHost 112.124.xx.xxx> DocumentRoot "/alidata/www" ServerName www.xxx.com </VirtualHost> |
注意:
ip地址是自己服务器地址
DocumentRoot是网站主目录
servername是允许访问的域名
注意
如果编辑保存时出现E45: ‘readonly’ option is set (add ! to override)。
那就不用:wq保存改用:wq!保存。
八、阿里云ECS(linux)apache设置静态文件缓存方法
阿里云服务器就是vps,只是用的是云概念,本质没有区别,同样百度一下有很多这样设置方法,如下:
设置静态文件缓存
首先打开Apache的”httpd.conf”
vim /alidata/server/httpd-2.2.22/conf/httpd.conf
查找LoadModule expires_module modules/mod_expires.so参数,一般阿里云一键web安装的apache服务器是默认开启mod_expires.so模块。
在配置文件中httpd.conf(ps:底部)
加入如下代码:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A86400
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A900
</IfModule>
解释一下
ExpiresByType 是通过MIME类型来设置具体文件的缓存时间,A表示访问,A后面的数字表示访问后的缓存时间,例:2592000秒。
这里对css,html,gif,jpeg,png,JavaScript等进行gzip压缩。
需要注意的地方
wordpress头像是通过Gravatar显示的,所以会出现浏览器一直加载不出的现象,建议把image缓存删除即可。