ECJiaWiki:ECJia到家Linux环境安装流程指导
目录
安装环境
- 最低配置
- Linux版本为 :CentOS release 6.5
- Nginx版本为 :nginx-1.10
- PHP版本为 :PHP5.5
- Mysql版本为 :Mysql5.5
- 推荐配置
- Linux版本为 : CentOS release 6.8
- Nginx版本为 : nginx-1.10
- PHP版本为 : PHP7.0
- Mysql版本为 : Mysql5.6
连接到服务器
如何使用工具连接到远程服务器?这里的服务器无论是指在阿里云上的虚拟服务器也好,或者是放在IDC机房内的实体服务器也好,只要在网络正常的情况下,就能够使用工具进行连接。
接下来的到家程序部署或多或少都离不开需要登入到服务器内进行操作
默认本机的操作系统为Windows系统,这里推荐远程连接服务器的工具为xshell,原因操作简单方便,两个步骤就能够完成登录到远程的服务器。
安装xshell
直接在百度上搜索xshell就可以找到很多的下载地址,推荐在比较正规的途径进行下载,点击【Download】下载
http://www.netsarang.com/products/xsh_overview.html
下载完成之后首先安装xshell安装包
一直下一步,直到安装完成
这里可以先不运行xshell工具,因为我们还需要安装xftp这个插件,同样,直接运行下载下来的xftp的文件
xftp的安装方式几乎和xshell是一模一样的
安装完成之后,在桌面会生成xshell工具的快捷方式,程序双击后第一次进入的样子
使用ssh的命令来连接服务器
命令的格式如 ssh root@192.168.7.141 把后面的IP地址换成需要连接的远程的服务器IP地址就可以了,这里的例子是连接远程的IP地址为192.168.7.141的服务器
输完之后按回车就会弹出输入密码的提示,红框这里输入密码
输入正确的密码之后如下
这时候就是所谓的Linux系统的命令行了,到这里就代表能正常的连接服务器可以对服务器进行操作了,如果登录失败的话,主要检查密码是否正确
以及本地网络和服务器网络是否正常
接下来就是Linux环境下具体的配置到家程序的步骤了(以下文档的高亮行,代表成功登录到服务器之后,在Linux系统的命令行执行的命令,有部分是配置文件内的配置,将会特别说明)
自动化安装
到家配备了自动化安装的脚本命令,适用于初始的Linux CentOS6.5或CentOS6.8的环境。
由于是部署环境的脚本,所以在有部署过程序的环境上运行该命令可能会报错导致不能使用,特别是有重要数据的环境上,会造成重要数据的丢失。
所以推荐在干净的系统中运用这个自动化安装脚本的命令,如果需要在已有的复杂环境下部署到家程序,请使用下面手工部署的教程进行手动配置。
PHP5.6:curl -s http://file.ecjia.com/centos/shell/ecjia-cityo2o-lnmp.sh | sh PHP7.0:curl -s http://file.ecjia.com/centos/shell/ecjia-cityo2o-lnmp70.sh | sh
使用终端登录到服务器之后,必须使用root用户,然后运行这条命令就能安装完成。
运行命令之后脚本会提示是否是初始的系统,如果不是初始的系统请按Ctrl + C进行中断,否则倒计时15秒之后程序将默认为是初始的系统继续下面的流程开始部署到家环境
然后一直等到安装完成即可
通过IP地址直接在浏览器上输入回车就能进入到家的安装界面
对到家进行配置的时候必须使用脚本给出的数据库用户,数据库用户的密码以及数据库的名称
如图所示
数据库的账号信息会储存在/root/ecjia-daojia.conf 文件下
使用 cat /root/ecjia-daojia.conf 可以观看到
整个安装过程在5~10分钟左右,具体根据网络带宽,服务器性能等有关,如果脚本处于长时间卡主不动的情况可以按Ctrl + C一直不放来进行中断,或者关闭当前的窗口重新连接服务器。
如果在安装的过程中报错的话,可以根据提示来解决问题,然后重新执行命令即可,具体的报错日志在当前目录下的ecjia/log目录下。可以根据日志的提示来排查错误。
手动安装程序
为了防止在安装部署的过程中出错,首先请关闭iptables和selinux(阿里云默认关闭)。
关闭iptables。这是一个防火墙功能,开启着这个功能可能会给部署程序带来意外的错误
service iptables stop
关闭selinux,这是一个关于安全的服务,开启着这个功能可能会给部署程序带来意外的错误
setenforce 0
这只是暂时性的关闭,重启后会继续生效,需要编辑配置文件来进行永久关闭
整个到家程序Linux平台部署将使用YUM这个工具来安装需要的安装包,有特别需求的用户可以自行进行编译安装
安装Nginx
- 使用yum的方式进行安装nginx,这样的好处是可以自动解决nginx依赖关系
yum –y install nginx
- 如果没有报错的话,这样Nginx就安装完成了,接下来是对Nginx服务进行配置,主要是设置网
站的站点以及PHP的配置。
- 进入到/etc/nginx/conf.d/目录下对nginx进行配置,conf.d目录下所有的以.conf结尾的都是
nginx站点的配置文件,编辑nginx的默认配置文件或者创建一个新的配置文件(default.conf)。
运用cd命令进入到nginx配置文件的路径下
cd /etc/nginx/conf.d/
- 运用vim命令编辑Nginx默认配置文件default.conf,这段是编辑Nginx程序的配置
vim default.conf
- 指定nginx的启动端口,以及外面客户端访问服务器webserver的端口号,默认情况下是80不需
要更改
Listen 80;
- 设置客户端访问的域名,默认为localhost,如果站点上只有一个站点的话可以不修改这块设置,
但是不建议,在做完域名解析后,应该把域名替换掉localhost(如:server_name www.xxx.com)
server_name localhost; location / { root /ecmoban/www; #站点的根目录地址 index index.php index.html index.htm; #程序能够访问的默认的后缀名,默认没有index.php,需要加上 }
- 默认下面一段是注释的,需要解开注释,不然无法解析php程序
location ~ \.php { root /ecmoban/www; #站点根目录地址 fastcgi_pass 127.0.0.1:9000; #php-fpm的端口号,根据php-fpm端口号定义。默认php-fpm端口号为9000 fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #nginx的内置参数,$document_root根据上面的root来定义的,如果不适用这个参数可能会造成php无法解析的情况 include fastcgi_params; }
完整的配置文件,可以直接使用,覆盖并替换原有的内容。
# # The default server # server { listen 80; server_name _; location / { root /ecmoban/www; index index.php index.html index.htm; location ~ \.php { root /ecmoban/www; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; } } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ /\.env { deny all; } location ^~ /content/storages/ { error_page 404 = /usr/share/nginx/html/404.html; } location ^~ /content/uploads/ { root /ecmoban/www; index index.html; } }
- 使用命令来启动nginx程序
service nginx start
- 创建/ecmoban 站点根目录
mkdir -p /ecmoban
- 最后设置开机后自动启动
chkconfig nginx on
安装Mysql数据库
- mysql数据库使用yum安装需要安装mysql mysql-server这两个服务。安装之前先查看下系统是
否已经安装了mysql-libs,系统默认会装一个5.1版本的mysql-libs,需要先卸载,再安装高版
本的,不然直接安装高版本会报错
- 查看是否有安装过mysql
rpm -qa | grep mysql
- 卸载低版本mysql-libs
yum -y remove mysql-libs*
- 安装mysql
yum -y install mysql55w.x86_64 mysql55w-server.x86_64
- 启动数据库并设置密码
service mysqld start
- 假设密码设置为111111
mysqladmin -uroot password "111111"
- 使用命令如果能登录到数据库安装完成
mysql -uroot -p111111
- 配置log_bin防止数据丢失,在没有备份的情况下如果数据不小心丢失了,可以通过log_bin
来进行恢复 编辑/etc/my.cnf文件,在[mysqld]下添加
vim /etc/my.cnf
log_bin = mysql-bin
- 重启后生效,可以在/var/lib/mysql目录下查看,如果有mysql-bin.000001这个文件说明配
置成功,并且每次重启数据库会生成一个新的文件
service mysqld restart
- 最后设置重启后自动启动
chkconfig mysqld on
安装PHP
- php安装以及所需要的扩展,如下所示:
php, bcmath, cli, common,php- fpm, gd, imap, ldap, mbstring, mcrypt, mysql, odbc, pdo, pear, pecl-igbinary, pecl-memcached, process, xml, xmlrpc
- 扩展可以单独安装,也可以用Yum一次性安装完成
yum -y install php56w*
- 开启PHP
service php-fpm start
- 最后设置重启后自动启动
chkconfig php-fpm on
安装部署ECJia到家
- 上传ECJia到家站点到网站根目录下(/ecmoban/www),可以利用xshell工具来连接服务器,
上传程序到网站根目录
ssh root@192.168.1.10
- 其中ssh代表登录的用户,@后面代表的是服务器IP地址,回车后会弹出输入密码框,输入指
定的密码即可成功登录
- 成功登录后进入到之前创建好的网站根目录下
cd /ecmoban
- 点击红色标注的位置进行FTP上传文件,初次使用会提示用户没有这个工具,并提示下载,
跟着提示下一步直到安装完毕即可
- 左边红框为本地路径,右边为服务器网站根目录路径
- 双击程序压缩包或右键点击上传,xftp程序下方有上传的进度以及速度
- 当完成之后可以使用ls命令来查看
- 然后进行解压缩文件
unzip ecjia_cityo2o.zip
- 然后对解压缩出来的目录进行重命名,只要保持和nginx配置文件的路径一样即可,之前
配置的路径是/ecmoban/www,所以只需要对解压缩出来的目录重命名为www即可
mv ecjia_cityo2o www
- 随后在进入www目录下
cd www/
- 使用ls –l可以看到www目录下的程序结构情况
ls -l
- 运用ps –ef | grep php命令来查询php-fpm进程池的所属用户来给予ECJia到家站点根
目录权限
ps -ef | grep php
- 可以看到php-fpm现在工作的进程池所属用户为apache用户,给予根目录站点递归apache
用户的权限,并给予目录递归755权限。
chown apache.apache /ecmoban/ -R chmod 755 /ecmoban -R
- 浏览器地址栏输入服务器IP地址或者是解析后的域名地址
- 回车后进入程序主页面
- 阅读ECJIA到家相关许可和协议,点击勾选同意条款,中的所有内容如下图所示:
- 检测安装环境,点击“我准备好了,开始下一步>>”按钮进入到检测配置安装环境页面,
全部可写如下图所示:
- 如果环境检测未通过,点击“开始下一步:配置环境系统>>”按钮,将弹出提示:
- 填写数据库主机、数据库端口、数据库用户名、数据库密码、数据库名称、管理员名称、
密码及电子邮箱。(注:数据库主机、数据库端口不清楚时,按默认填写)管理员密码不
得低于8个字符,电子邮箱格式必须正确,测试数据可以选择是否安装。如果填写的数据
库账号密码不正确,则会弹出如下提示框:
- 点击“确定”按钮,输入正确的数据库帐号密码。
- 如果填写的数据库名称后,该数据库名称已存在,将弹出确认是否覆盖该数据库提示框:
- 点击“确定”按钮表示同意覆盖原数据库,点击“取消”按钮可重新填写数据库名称。
- 注:当前Mysql数据库环境必须支持Innodb引擎;如不支持Innodb引擎,点击“确认,立即安装>>”
按钮,将会弹出如下提示:
安装过程
- 配置环境通过后,点击“确认,立即安装>>”按钮,进入到安装界面:
- 若安装出错,可点击“返回配置系统”按钮,回到配置系统页面,重新修改配置环境进行
安装,如下图所示:
成功安装
- 安装成功后显示如下页面,点击下方链接可快速进入到家相关页面:
- 如果要重新安装ECJIA到家,可删除网站content/storages/data目录下的install.lock文件,
- 进入安装界面即可重新安装。文件路径如:/ecmoban/www/content/storages/data/install.lock。