• Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程


    其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着。

    今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算是打一波广告吧),果断认证并申请了一台。

    下面写一个详细的搭建和迁移教程,然后我会慢慢把cnblog的技术文迁移过来,并且也会常写一些心情随笔,毕竟还是想做一个生活丰富程序员。

    环境介绍

    Tencent cloud CentOS 7 x64, 无现成LAMP, 需自己安装配置。 

    一、下面是lamp详细的安装过程:

     

    基于Linux的PHP环境搭建

    可以先用命令查看系统是否安装了Apache(或者其他软件,不过估计都没有,是个裸机。。。)

    rpm -qa | grep httpd

    安装Apache、PHP、Mysql、连接Mysql数据库的包:

    yum -y install httpd 

    yum -y install php 

    yum -y install php-fpm

    yum -y install mysql

    yum -y install mysql-server

    yum -y install php-mysql

    除了mysql-server其他都安装成功

    错误:No package mysql-server available.

    Package php-mysql-5.4.16-36.el7_1.x86_64 already installed and latest version

    Nothing to do

    查找原因是因为CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了,有两种解决方案,一是安装mariadb,二是从官网下载mysql-server.因为对mariadb不熟悉,所以我采用了第二种解决方案。

    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    rpm -ivh mysql-community-release-el7-5.noarch.rpm

    yum install mysql-community-server

    然后需要确定,输入y回车即可

    Is this ok[y/d/N]:y

    接下来等待下载,需要确认的输入y回车即可

    成功!

    接下来安装常用扩展包

    安装Apache扩展包

    yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql 

    安装PHP扩展包

    yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel

    安装Mysql扩展包

    yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

    配置Apache、mysql开机启动

    chkconfig httpd on  

    chkconfig mysqld on

    系统会提示我们Centos7中命令已经改变

     

    命令更改如下:

    systemctl enable httpd.service
    systemctl enable mysqld.service
    systemctl list-unit-files  (centos6中是 chkconfig --list  用于查看启动列表)

    重启Apache、mysql服务

    /bin/systemctl restart  mysqld.service  (centos6 中为 service mysqld restart)

    /bin/systemctl restart  php-fpm.service   同理替换 service php-fpm start

    /bin/systemctl restart  httpd.service   同理替换service httpd restart

    打开mysql

    初次安装mysql是没有密码的

    mysql –u root

     

    show databases;  #注意分号

     

    可重置密码

    set password for 'root'@'localhost' =password('xxxxxxxx');

     

    环境检查

    netstat –tunlp

    如下图,php监听9000端口,apache监听80端口,mysql监听3306端口

     

    php测试环境是否成功

    进入apache的web根目录:/var/www/html 中自己写一个最简单的php页面

    cd /var/www/html

    touch test.php

    vi test.php

    进入到了控制模式之后按键盘字母 i 进入到编辑模式,将如下代码输入到文件中

    <?php

    echo "<title>Test Page</title>";

    phpinfo()

    ?>

    按 esc 退出编辑模式,回到控制模式,输入 :wq 然后回车,在浏览器中输入服务器IP地址+php文件名,例:115.115.115.115/test.php

    出现下图则成功。

    最后再补上 安装git

    yum -y install git
     
     
    二、下面是恢复WordPress的详细过程:
     
    首先是准备备份目录和数据库导出文件:就是一个wordpress工程包,一个.sql文件。

    在本地打开终端,我这里用的是GitBash:

    使用远程拷贝命令:

    scp xiaoteng.sql root@123.206.104.236:~/myBlogFiles

    然后输入密码即可。

    同理拷贝打包文件:

    scp xiaoteng.zip root@123.206.104.236:~/myBlogFiles

    在云端解压:

    tar -xvf  ...

    这里其实可以直接远程拷贝文件夹到对应路径:

    scp -r xiaoteng root@123.206.104.236:/var/www/html

    下面在云端打开mysql命令行:

    新建一个xiaoteng数据库:

    mysql> create database xiaoteng;

    导入数据文件xiaoteng.sql:

    方法一:use xiaoteng,source ~/myBlogFiles/xiaoteng.sql

    方法二:重定向命令  mysql -uroot -p*** xiaoteng< ~/myBlogFiles/xiaoteng.sql

    这里因为之前端口配置原因,还要改一下xt_options表中的两个url字段,把端口号改成新的,这是wordpress框架内部实现跳转的url。这里因为只针对于我自己的特殊情况,不再细说。

    算了还是说一下吧,也算给自己写的。。

    用update命令改为自己的域名和端口(配置域名就真不说了)。(mysql> update xt_options set option_value='http://blog.xiaoteng.site' where option_id<3;)

    然后还要提到的是更改httpd.conf这个apache的配置文件,将默认路径映射到xiaoteng这个目录下,座位网站的默认目录页。

    不知道这个文件在哪可以用locate命令查找httpd.conf文件路径:

    locate httpd.conf

    结果发现报错了:

    执行updatedb,等待一下再执行即可。

    可以看到有两个,选择上面etc目录下的进行修改:

    vim /etc/httpd/conf/httpd.conf

    找到DocumentRoot 改为,保存退出。

    然后呢,就是打开一个浏览器,当然 配好域名后,在哪都可以,访问blog.xiaoteng.site ,成功打开主页。

     

    最后还有些其他问题:

    比如上传图片的时候说目录没有写权限,给了777还是不行,然后想远程登录mysql数据库改一下表。

    又发现远程数据库只允许localhost访问。

    这里再改一下mysql中user表的host项从"localhost"改称"%"

    mysql -u root -pvmwaremysql>use mysql;

    mysql>update user set host = '%' where user = 'root';

    mysql>select host, user from user;

    之后其实发现并不是数据库的事,还是目录权限的问题

    仅仅chmod 777 xiaoteng 是不行的

    而要把内部所有的子目录和文件都加上权限,我这里的命令是:

    chmod -R 777 xiaoteng/wp-content

    然后就可以上传了~

  • 相关阅读:
    Android 如何在自己的应用中模拟Home键
    ComboBox添加Item
    修复JSCRIPT
    几天没用TFS!挂了!
    简单的上传图片并生成缩略图
    上传图片时中文路径的问题
    获取DataList和Repeater里的控件
    MIME 类型列表
    STL注意
    MFC下的MessageBox使用_附带CBUTTON
  • 原文地址:https://www.cnblogs.com/protected/p/6792208.html
Copyright © 2020-2023  润新知