美文网首页nginx @IT·互联网程序员
阿里云ECS部署LNMP+Git+Drush

阿里云ECS部署LNMP+Git+Drush

作者: 雪峰童鞋 | 来源:发表于2017-08-12 14:17 被阅读843次

    配置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 "54370478@qq.com"  //告诉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 的版本等等


    相关文章

      网友评论

      • Mr张巍瀚:云服务器对我来说真的承受不起,上次阿里云搞活动2块钱开了一年的云虚拟主机。
      • small豪猪:可以用云市场啊
        雪峰童鞋:学会自己配置能学很多东西!

      本文标题:阿里云ECS部署LNMP+Git+Drush

      本文链接:https://www.haomeiwen.com/subject/gvquxttx.html