IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 如何将本地使用PHP搭建的网站搬到云服务器 -> 正文阅读

[PHP知识库]如何将本地使用PHP搭建的网站搬到云服务器

如何将本地使用PHP搭建的网站搬到云服务器

已经毕业快一年了,去年这个时候还在忙活自己的毕设,由于对于Java不太熟练,所以就先使用php写的网站后台,很简易,但是对于当时的自己还是很有成就感的,心里一直想着把自己做的php版本网站搬到云服务器上,外界就可以访问到自己的网站了,哈哈,是不是很有趣,下面我就介绍一下这一轻(jian)松(nan)的过程~

一、购买云服务器

这里暂不介绍,因为过程我没记录,哈哈哈,后续会补上,服务器是阿里云的云服务器ECS,系统是CentOS 7。

二、配置服务器(LAMP)

LAMP===Linux+Apache+MySQL+PHP,很多朋友在Windows上使用过WAMP这款开箱即用软件,在Linux上也需要我们配置相关环境来保证我们的网站得以运行。
阿里云服务器是支持线上直接连接服务器的,但是我向大家推荐两个就与ftp和ssh的远程连接软件,分别是Xftp和Xsheel,有需自取~使用方法自行百度,只需要有公网IP和登录账户密码即可。
链接:https://pan.baidu.com/s/1xWJvHkPq3lyyc_sxra3iVw
提取码:gcgc

1.检查是否已经安装过相关服务

检查Apache

httpd -v

检查MySQL

service mysqld start

清理命令:

yum remove mysql
rm -f /etc/my.cnf
rpm -qa | grep httpd

另外阿里云购买的云服务器已经包含了上网服务,记得把shell切到~下,以root用户登录即可

2.安装相关服务

安装Apache

yum -y install httpd

注意安装命令执行结束后,结尾是Complete!字样,如果安装失败,请检查网络或者重新执行命令
安装Apache扩展

yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql

启动Apache
注意启动命令在CentOS 6和7上有区别
CentOS 6

service httpd start

CentOS 7

systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
systemctl enable httpd.service #设置开机自启动

注意,下文中基本都是以CentOS 7为背景的命令,如果你是CentOS 6,请注意版本间命令的部分区别。
检查安装
如果你的云服务器内存足够,你可以安装CentOS图形界面GNOME来通过在浏览器里直接访问127.0.0.1来验证是否安装成功。
安装图形化界面GNOME的步骤这里不展开细讲,请找度娘,哈哈
另外我们可以通过访问云服务器的公网IP配合80端口来验证,比如xxx.x.x.x:80
首先需要验证云服务器公网IP是否允许外网访问,可以使用ping命令ping ip地址检查是否可以访问串,一般情况下都是允许直接通过IP访问的。
但是云服务初始化时默认是没有80端口的,所以我们需要去云服务器的安全组手动配置安全组规则,开放80端口
配置安全组规则–配置规则–手动添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
手动添加完80端口后,通过上面命令开启http服务,http服务开启之后,因为我们刚配置完安全组规则,就需要设置防火墙允许80端口

firewall-cmd --zone=public --add-port=80/tcp

如果执行命令出现FirewallD is not running,那么这是因为防火墙关闭的缘故,我们需要打开防火墙

systemctl status firewalld #查看防火墙状态,如果是dead状态则是未开启
systemctl start firewalld #开启防火墙,再次查看防火墙状态是running,即为已开启
systemctl stop firewalld #关闭防火墙

再次执行允许80端口的命令,执行结果为SUCCESS即为成功
现在我们可以通过公网IP访问到我们的服务器了
在这里插入图片描述
安装PHP

yum -y install php

安装php-fpm

yum -y install php-fpm

安装php扩展

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

测试PHP安装
/var/www/html是web资源的根目录,未来的网站资源就是放在这里
我们可以在根目录下编写一个测试文件test.php

cd /var/www/html
touch test.php # 创建文件
vim test.php #编辑

编辑代码(i进入编辑模式)

<?php
    phpinfo();
?>

esc 回到控制模式,:wq 保存退出
浏览器访问域名加路径,运行test.php. 如: 000.0.0.0/test.php
在这里插入图片描述
如果内容原样输出出来,就说明成功啦~然后请重启Apache
安装MySQL

yum -y install mysql

安装mysql-server

yum -y install mysql-server

会报错,说没有这个安装包。所以先做以下步骤:
第一步:安装从网上下载文件的wget命令

yum -y install wget

第二步:下载mysql的repo源

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

第三步:安装mysql-community-release-el7-5.noarch.rpm包

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

第四步:查看下

ls -1 /etc/yum.repos.d/mysql-community*

会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo
第五步:启动MySQL

systemctl start mysqld.service #启动 
systemctl stop mysqld.service #停止
systemctl restart mysqld.service #重启
systemctl enable mysqld.service #开机自启动

6.配置mysql
初次安装mysql是没有密码的,要设置密码,默认账户为root
设置mysql root账户的密码

mysql_secure_installation

第一步输入当前密码(初始密码为空,直接回车即可)
第二步和第三步是设置密码和确认密码
第四步是删除匿名用户,输入Y
第五步是不允许root远程连接,输入n
第六步是删除测试数据并访问它,输入Y
第七步是重新加载表数据,输入Y

7.mysql编码问题
在CentOS7中修改文件/etc/my.cnf
打开配置文件:
vi /etc/my.cnf;
在[mysqld],[mysql],[client]下分别添加如下内容

[client]
default-character-set=utf8
 
[mysqld]
character-set-server=utf8
 
[mysql]
default-character-set=utf8

重启mysql服务

systemctl restart mysqld.service

接下来测试是否能插入中文数据:
进入mysql数据库

mysql -h localhost -u root -p

回车后 输入密码 密码不可见

列出数据库的编码表
mysql> show variables like '%char%';

可以看下character_set_database和character_set_server是否都已经被改为utf8

mysql> set character_set_database=utf8; 
mysql> set character_set_server=utf8;
查询所有的库
mysql> show databases; 
 
创建数据库test
mysql> create database test; 
 
创建表
create table t_person(
id int primary key auto_increment,
name varchar(20),
age int,
email varchar(25)
);
 
插入数据
insert into t_person(name,age,email) values("测试",18,"test@test.com");
 
查询表中数据
mysql> select * from t_person;
 
查询所有的表
mysql> show tables;
 
删除数据库
mysql> drop database test;
 
drop table 表名--删除表的
delete from 表名  where 条件 --删除数据的

若插入成功就证明配置中文编码成功
我们来测试一下刚刚安装的服务与配置的环境----mysql+apache+php
写一个php文件testMySQL.php在/var/www/html

<?php
    $conn=mysql_connect("localhost","root","这里是你设置的mysql密码");
    if($conn){
    echo "mysql链接成功";
    }else{
      echo "失败";
    }
?>

通过访问testMySQL.php可以测试数据库的连接情况
在这里插入图片描述
哈哈,到此,我们LAMP的配置就全部OK啦~

3.迁移网站数据

迁移本地数据到云服务器的工作我是使用上面分享过的Xftp软件,只需要简单的拖拽即可将本地文件上传到自己的云服务器中,上面说过,云服务器的web站点根目录是/var/www/html/,所以我们把本地www下的web文件拷贝到云服务器对应的html/下即可
在这里插入图片描述
网站文件已经迁移好了,然后需要将本地的数据库迁移到云服务器中的数据库中
首先需要把本地MySQL中的数据库导出为.sql文件放入云服务器目录中
以Navicat为例
在这里插入图片描述
导出为.sql文件放入云服务器目录中
然后回到云服务器开始导入操作

mysql -h localhost -u root -p #进入mysql
create database xxx;(创建数据库)
 
show databases;(就可看到所有已经存在的数据库,以及刚刚创建的数据库abc)
 
use xxx;(进入xxx数据库下面)
 
show tables;(查看xxx数据库下面的所有表,空的)
 
source /var/xxx/xxx.sql(导入数据库表,这里sql文件路径为您自己存放的路径)
 
show tables;(查看xxx数据库下面的所有表,就可以看到表了)
 
desc 表名;(查看表结构设计)
 
select * from 表名;
 
exit; 退出mysql

验证完毕,导入sql成功后重启httpd服务和mysql服务即可通过公网IP访问已迁移的网站
问题集锦:
1、有的时候会遇到mysql密码不对的情况,这种情况一定要保证php代码里连接MySQL的密码要和云服务器的MySQL密码一致;
2、MySQL中中文正常展示但是页面中文确是???的问题。可以通过修改php连接文件解决

$conn = new mysqli("localhost", "root", "12345678");
$conn->query("set names 'utf8'"); #主要是加上这一句
if ($conn->connect_error) {
    die("数据库连接失败" . $conn->connect_error);
}

3、有的时候会遇到php中的mkdir等读写语句失效的问题,我们需要对对应的文件目录设置权限

cd /www/html/xxx
chmod -R 777 /www/html/xxx

尾声

以上就是我在将本地PHP项目迁移到云服务器的过程,迁移的这个项目比较简易和原始,所以涉及到的配置也相应少一些,如有不足之处,还请您见谅和指出~

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章           查看所有文章
加:2022-03-15 22:12:05  更:2022-03-15 22:13:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:24:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码