技术支持 云市场镜像产品 PHP 运行环境 LAMP 镜像使用指南

LAMP 镜像使用指南

镜像环境说明 操作系统:Ubuntu / CentOS 软件明细:apache - mysql - php - vsftp

注:各个软件版本以云市场镜像中产品介绍为准。

1、密码存储位置: /alidata/account.log 文件中。 2、查看密码:

进入服务器的系统中,可以在任意的目录下,执行以下命令

cat /alidata/account.log

注意:cat 后面要有空格 3、修改 ftp 的密码:

用 root 用户登录系统,然后执行下面命令:

passwd  www

然后输入您的 ftp 新密码。

4、修改 mysql 的密码:

mysqladmin -uroot -p旧密码 password 新密码

注意: -p 和旧密码之间没有空格,password 和新密码之间有空格。

软件目录及配置列表 所有软件(除 ftp 以外)都采用源代码方式安装, 安装目录单独分离到 /alidata 目录下。

软件的主目录:/alidata web 主目录: /alidata/www ftp 主目录:/alidata/www nginx 主目录:/alidata/server/nginx nginx 配置文件主目录:/alidata/server/nginx/conf php 主目录: /alidata/sever/php/ mysql 主目录:/alidata/server/mysql mysql 配置文件:/etc/my.cnf 日志目录: /alidata/log/nginx 为 nginx 存放日志主目录 /alidata/log/php 为 php 存放日志主目录 /alidata/log/mysql 为 mysql 存放日志主目录 init 目录: /alidata/init 为当用户用镜像创建系统后,当且仅当用户在第一次启动系统的时候,调用此目录下的脚本来初始化 ftp 及 mysql 的密码(随机密码)。

/etc/init.d/mysql   start|stop|restart
/etc/init.d/vsftpd  start|stop|restart
/etc/init.d/httpd   start|stop|restart

切换 PHP 版本(此命令仅针对 PHP 多版本镜像)

switch

1、在使用镜像安装系统后,在 /alidata/server/httpd/conf/vhosts 目录下(部分镜像在 /alidata/vhosts 目录下),我们可以看到一个默认的配置文件 default.conf。

关于如何配置网站,我们可以参考该文件中的内容(#号后面为注释说明):

                 #虚拟主机,指定 80 端口              
DocumentRoot /alidata/www/
    default                        #定义服务器的默认网站根目录位置
    ServerName localhost           #定义使用 ip 访问
    ServerAlias localhost

2、根据以上默认配置,我们进入网站根目录 /alidata/www/default/ 可以看到 index.html 、 info.php 这两个文件。

我们直接在浏览器中输入 “http://... ” (...为我们服务器的公网 ip ),就默认可以访问到 index.html 中的内容。

我们也可以输入 “http://.../info.php” 显示访问 info.php 运行后的结果。当然你输入一个不存在的文件访问,就会出现 404 Not Found 的错误。

3、然后,我们下载 phpwind 及 phpmyadmin 的源码部署我们的站点。

以下 oss 的下载链接由阿里云 Linux 一键安装包提供,大家可以放心使用。具体安装部署命令如下:

以下为部署 phpwind :

cd 
wget http://oss.aliyuncs.com/aliyunecs/onekey/phpwind_GBK_8.7.zip
rm -rf phpwind_GBK_8.7
unzip phpwind_GBK_8.7.zip
mkdir -p /alidata/www/phpwind
mv phpwind_GBK_8.7/upload/* /alidata/www/phpwind/
chmod -R 777 /alidata/www/phpwind/attachment
chmod -R 777 /alidata/www/phpwind/data
chmod -R 777 /alidata/www/phpwind/html
cd /alidata/www/phpwind/
find ./ -type f | xargs chmod 644
find ./ -type d | xargs chmod 755
chmod -R 777 attachment/ html/ data/

以下为部署 phpmyadmin :

wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
rm -rf phpMyAdmin-4.1.8-all-languages
unzip phpMyAdmin-4.1.8-all-languages.zip
mv phpMyAdmin-4.1.8-all-languages /alidata/www/phpwind/phpmyadmin
chown -R www:www /alidata/www/phpwind/

4、最后,我们需要配置 apache ,并让 apache 重新启动,即可完成我们网站的配置。 我们可以在默认的配置文件 default.conf 中加入以下内容,也可以在 /alidata/server/httpd/conf/vhosts 目录下新建一个 phpwind.conf 文件(文件名必须以 .conf 结尾, phpwind 为自取名称,可以为其它名称),并且加入以下内容:


        DocumentRoot /alidata/www/phpwind
        ServerName 公网IP/域名
        ServerAlias 公网IP/域名
        ErrorLog "/alidata/log/httpd/phpwind-error.log" 
        CustomLog "/alidata/log/httpd/ phpwind.log" common  

5、最终我们用命令

/etc/init.d/httpd   start|stop|restart

完成我们网站的配置。然后我们在浏览器中输入 http://IP 即可看到我们部署的 phpwind :

然后我们也可以用 http://IP/phpmyadmin 来访问我们部署的 phpmyadmin ,用户名和密码输入 /alidata/account.log 中存储我们的 mysql 的用户名及密码:

输入正确的 mysql 用户名及密码后,然后我们就可以访问我们 ECS 上部署的 mysql 了:

用镜像生成系统后,网站的数据目录都默认在系统盘的 /alidata/www 目录下。

如果您的应用数据量较大,系统盘默认的 20G 大小可能不够用。这需要我们将网站迁移至数据盘中。

1、首先分区并格式化我们的数据盘。如果已经格式化数据盘,此步可以不用做。

2、以《部署网站》为例,然后我们执行以下命令迁移 phpwind 至数据盘中:

/etc/init.d/httpd stop                 #首先停止 apache 服务
 cd  /                                 #进入根目录下
 mount /dev/xvdb1  /mnt/               #将第一块数据盘挂载至 mnt 目录下,也可以根据您自己的需要,挂载至其他数据盘中。这里也可以尝试:mount /dev/xvdb1  /alidata/www直接把/alidata/www目录挂载在数据盘中,似乎更加方便。
 mkdir -p /mnt/www /mnt/log
 cp -a /alidata/www/phpwind /mnt/www/  #将数据迁移至数据盘中

3、vim /alidata/server/httpd/conf/vhosts/phpwind.conf将:

DocumentRoot /alidata/www/phpwind 更改为: DocumentRoot /mnt/www/phpwind

然后将:ErrorLog "/alidata/log/httpd/phpwind-error.log" CustomLog "/alidata/log/httpd/phpwind.log" common
更改为:ErrorLog "/mnt/log/phpwind-error.log" CustomLog "/mnt/log/phpwind.log" common
4、启动 apache 完成迁移:

/etc/init.d/httpd start

镜像部署的 mysql 的安装目录及数据目录都存放在系统盘中,同样考虑到系统盘空间不够用的情况,后面如果我们部署的 mysql 数据量很大,这里就需要我们将我们的 mysql 迁移至数据盘中。

mysql 迁移至数据盘中,一般指将 mysql 的数据目录迁移至数据盘中。具体操作步骤可以参考如下:

1、首先格式化磁盘,并将数据盘挂载在 mnt 目录下(根据您自己的需求,也可以挂载在其他目录下)

 mkdir -p /mnt/data

2、用 mysqldump 命令导出您项目所有的数据,命令参考如下:

 mysqldump -p --all-databases > all.sql

3、停止 mysql :

 /etc/init.d/mysqld stop

4、vim /etc/init.d/mysqld 将文件中 “datadir=/alidata/server/mysql/data” 中的目录地址更改为您迁移至数据盘中的目录地址,即 “datadir=/mnt/data” 。

5、然后用以下命令初始化一个全新的数据库环境:

/alidata/server/mysql/scripts/mysql_install_db –basedir=/alidata/server/mysql –datadir=/mnt/data –user=mysql 注意:datadir为您mysql的数据目录。

6、启动 mysql ,然后将数据还原至新的数据盘中:

 /etc/init.d/mysqld start
 mysql <  all.sql
 /etc/init.d/mysqld restart

很多用户反馈,用镜像生成系统后,ECS 本地能够连接 mysql ,为何远程连接不上 mysql 呢?这是因为默认安装的 mysql ,出于安全考虑,只能本地连接。

如果您需要远程连接,这里就需要设置一下 mysql 的权限表。具体设置的步骤如下:

1、在您的ECS上连接进入 mysql 。

2、执行以下 mysql 命令:

 use mysql                  #打开 mysql 数据库

将 host设置为 % 表示任何 ip 都能连接 mysql ,当然您也可以将 host 指定为某个 ip 。

 update user set host='%' where user='root' and host='localhost';
 flush privileges;          #刷新权限表,使配置生效

然后我们就能远程连接我们的 mysql 了。 3、如果您想关闭远程连接,恢复 mysql 的默认设置(只能本地连接),您可以通过以下步骤操作:

 use mysql                                              #打开 mysql 数据库
 update user set host='localhost' where user='root';    #将 host 设置为 localhost 表示只能本地连接 mysql
 flush privileges;                                  #刷新权限表,使配置生效

备注:您也可以添加一个用户名为 yuancheng ,密码为 123456 ,权限为 % (表示任意 ip 都能连接)的远程连接用户。命令参考如下:

 grant all on *.* to 'yuancheng'@'%' identified by '123456';
 flush privileges;
.htaccess 伪连接

出于安全考虑,镜像中安装的 apache 默认是关闭了 .htaccess 的伪连接的功能。具体配置 /alidata/server/httpd/conf/httpd.conf 如下:


Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

那如何打开 .htaccess 的功能呢,我们只需将上述配置文件中 “AllowOverride None” 改为 “AllowOverride All” ,然后重启 apache 即可。

关于如何配置 apache 的 rewrite 来实现伪连接,这里不做过多介绍,这块网络上有很多教程,大家自行参考。