阿里云ECS部署LNMP+Git+Drush

配置LNMP环境的配置过程中,最好使用管理员权限,在前面加上sudo,以下是在阿里云ECS的Centos7.2平台上配置:


安装IUS仓库

连接成功后,安装IUS仓库,这样才能用yum去安装比较新的软件包,获取地址:https://ius.io/GettingStarted

cat /etc/redhat-release  //查看系统版本

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm -y  //安装

yum repolist  //查看仓库列表

安装nginx

sudo yum install nginx -y//安装nginx

sudo systemctl start nginx//启动nginx

sudo systemctl enable nginx//开机自启动

47.89.45.50//打开浏览器输入,出现nginx说明成功

sudo systemctl reload nginx//重启

如果nginx出现问题,可以先启动,再重启:

sudo systemctl start nginx

sudo systemctl reload nginx

安装mariaDB

数据库消耗大量的内容,至少2G的内存服务器

sudo yum search mariadb  //搜索版本

sudo yum install mariadb101u-server -y  //提示有冲突,先删除原来的资源

sudo yum remove mariadb-libs -y  //删除原来的资源

sudo yum install mariadb101u-server mariadb101u -y  //重新执行安装

启动数据库【如果数据库出错,网站打不开(The website encountered an unexpected error. Please try again later.),也可以使用以下两段命令重启数据库试试】

sudo systemctl start mariadb  //启动

sudo systemctl enable mariadb  //开机自启动

mysql_secure_installation  //执行安全配置,密码设为root,回答问题全“y”(这个方法也适用于当数据库打不开时,出现登录报错:“ERROR 1045 (28000)”或者其它错误时,如果用了以下命令,可能会删除之前的数据库,得重新导入数据库文件)设置root密码,一直按Y,第一个提示输入root数据库的密码,默认为空,回车

mysql -u root -p  //测试

mysql --version  //查看版本相关信息

mysql -u root -pdb

mysqldump -u root -pdb > db.sql  //导出数据库(导出的数据库文件就在当前目录里)

阿里云RDS(例) 导出MySQL:

mysqldump -u ascm -p -h aoshiyiyuanpai.mysql.rds.aliyuncs.com a>  /alidata/b.sql

进入数据库常用命令

mysql -u root -p  //进入数据库

create database xxx;  //创建数据库

show databases;  //查看数据库

drop database xxx;  //删除数据库

exit//退出数据库

mysqladmin -uroot password 'yourpassword'  //更改root密码

mysql -uroot -p -h192.168.137.10 -P3306  //远程登陆数据库

use xxx;  //进入某个数据库

show tables;  //列出数据库中的表

desc slow_log;  //查看某个表全部字段

show create table slow_log\G;  //显示建表语句

select user();  //查看当前用户

select database();  //查看当前所在数据库

create database db1 charset utf8;  //创建数据库指定字符集

create table t1 (`id` int(4), `name` char(40));  //创建新表

select version();  //查看数据库版本

安装PHP

sudo yum search php  //搜索安装对应版本

sudo yum install php70u-fpm -y  //安装,或者安装其它版本的PHP如php56u-fpm

sudo yum install php70u-fpm php70u-cli php70u-xml php70u-gd php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json -y  //安装扩展

sudo systemctl start php-fpm  //启动

sudo systemctl enable php-fpm  //开机自启

sudo systemctl reload php-fpm  //重新加载

php -v  //查看版本

rpm -qa | grepphp  //查看所有已安装的PHP文件

安装memcached

启用memcache后,性能就会有极大的改善

sudoyum search php | grepmemcached  //搜索memcache

sudo yum install php70u-pecl-memcached  //安装php70u-pecl-memcached

sudo systemctl reload php-fpm  //重启PHP

sudo systemctl enable memcached  //开机自启动

service memcached start  //启动

netstat -tunpl  //查看进程是否开启

安装opcache

opcache是 php 的一个扩展,安装后可提升性能,opcache不需要在php.ini中写,安装完默认开启。安装drupal或者其它CMS时,遇到没有opcache会无法安装,参考宁皓网这个教程:https://ninghao.net/video/3588

sudoyum search php | grep opcache  //搜索opcache

sudo yum install php70u-opcache -y  //需要php70u-opcache ,因为它跟我现在的环境里面使用的 php 是一个版本的

sudo systemctl reload php-fpm  //重新加载php-fpm

sudo systemctl restart php-fpm  //重启php-fpm

修改PHP配置

cd /etc 找到php.ini文件,修改以下几点,使PHP与Drupal更好的结合

;加大页面执行时间php.ini中的默认值是30 (秒)

max_execution_time = 300

post_max_size = 200M

upload_max_filesize = 200M

;内存的1/4这里必须注意,设置太多会崩溃,因为还有其他程序要用内存,查看内存:free 或者top

memory_limit = 512M

;tmp是服务器根目录777权限,drupal cc all后查看drupal是否还提示上传未知错误

upload_tmp_dir = tmp

;中国时区设置

date.timezone = PRC

改好后保存再重启

sudo systemctl reload php-fpm  //重新加载

Nginx主机配置

cd /etc/nginx/conf.d 新建web.conf文件,第一个location为网站静态配置,第二个location是让nginx处理php

server{

listen        80;

server_name  www.sskoo.com sskoo.com;

root          /home/sskoo;

index        index.php index.html;

location / {

index index.php index.html;

try_files $uri $uri/ /index.php?$query_string;

}

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi.conf;

}

}


创建对应的网站目录

ssh @ip 到服务器后,使用 cd ../ 查看centos7的相关目录,能看到如下目录:

bin  dev  home  lib64  media  opt  root  sbin  sys  usr

boot  etc  lib  lost+found  mnt    proc  run  srv  tmp  var

建议把你的网站放到home或者mnt的下面,以home为例:

sudo mkdir -p /home/mysite

sudo chmod 755 mysite  //读取权限,否则网站访问不了php权限

然后你就可以把你的网站文件放到mysite里,再重启相关服务,没问题的话,网站就可以打开了

sudo systemctl reload php-fpm

sudo systemctl reload nginx

安装Composer

参考网站:

https://ninghao.net/video/1700#info

https://www.drupal.org/node/2366283

先安装composer依赖的php插件,如果之前在安装php插件时安装过就不用再安装了

sudo yum install php70u-cli -y

第一种方法使用包管理来安装:

curl -S https://getcomposer.org/installer | php

第二种方法安装,打开https://getcomposer.org/download/ 打开复制Command-line installation下的代码,再ssh@ip后键入,输入以下全部命令行回车,环境符合就会安装成功:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

ls查看,会看到下载一个composer.phar文件,输入:php composer.phar会出现一些帮助信息。如果你想在服务器的任何地方去使用的话需要去设置一下,把composer.phar 这个文件放在系统的环境变量里面的某个目录里面,全局使用!

echo $PATH  //查看环境变量路径

sudo mv composer.phar /usr/local/bin/composer  //好了后可以直接输入 composer 可以看到很多信息表明成功!

vi ~/.bash_profile

追加到PATH后面

原:PATH=$PATH:$HOME/bin

新:PATH=$PATH:$HOME/bin:$HOME/.composer/vendor/bin

让文件生效:source ~/.bash_profile

安装Git

yum search git

sudo yum install git2u -y  //安装

sudo yum remove git-core -y  //若有提示冲突,删除冲突的包再执行安装

git config --global user.name "yourname"  //告诉Git你是谁

git config --global user.email "[email protected]"  //告诉Git你的 Email

安装Drush

安装drush,确定安装composer和git之后

第一种安装drush方法,这种方法下载很快,但不知为什么配置很难成功,可以参考下下。把 Github 上的代码 clone 到 /usr/local/src/drush 这个目录下面:

git clone https://github.com/drush-ops/drush.git /usr/local/src/drush

git clone https://github.com/drush-ops/drush.git .config/composer/vendor

然后 cd 到这个目录:cd /usr/local/src/drush

用 composer 安装一下:composer install

然后再系统的环境变量创建一个 drush 的快捷方式,可以使用 ln -s。这里 -s 参数就是 symbolic 的简称,也就是所谓的「软链接」。它的特点在于可以连接目录。

ln -s /usr/local/src/drush/drush /usr/bin/drush

drush help


第二种安装drush方法,这种方法慢且不用安装GIT,但实用在ECS上!

composer global require drush/drush:8.x --prefer-dist -vvv --profile  //指定安装8.x版本。使用 composer 在国内下载会比较慢,需要等挺长时间,所以本地安装很难成功。加上一个--prefer-dist表示我们不想去下载带版本控制的东西,再加上一个 -vvv可以显示在安装过程中的更详细的信息,最后再加上一个--profile显示耗费的内存还有时间,composer 会去找出 drush 还有它依赖的东西):完成以后我们可以去看一下,先进入到用户的主目录下面:

ls -la

查看一下这个目录里的东西,有一个 .config 的目录,你会看到一个 composer 目录,再进入到composer这个目录下地vendor:

cd .config/composer/vendor

在这个目录里面,你会看到 composer 下载下来的drush ,还有一些其它的东西,把这个目录下面的 bin 这个目录,添加到系统的环境变量里面,可以去编辑一下主目录下面的 .bash_profile

vi ~/.bash_profile

进入编辑模式后插入一条代码:

export PATH="$HOME/.config/composer/vendor/bin:$PATH"

保存并退出后然后再用 source 去执行一下 .bash_profile:

source ~/.bash_profile

再输入:

drush  //跟 drush 命令相关的帮助信息说明证明可以去使用 drush 了

再输入一个:

drush status

会显示一些状态信息,这里会有 PHP 的地址,配置文件,drush 的版本等等


你可能感兴趣的:(阿里云ECS部署LNMP+Git+Drush)