ubuntu+mysql+php+apache2+wordpress建站全记录

虽然操作并不难,但用到的各种命令,各种坑的解决方法还需要记一下 建好的博客: 念诗之人的博客

VPS和域名选购

VPS选购

国内外有很多商家可供选择,国内有如阿里云,百度云,腾讯云等(ECS,BCC等等),国外有Vultr等等。

  • 如果购买位于中国以外地区的VPS,那就格外需要关注一下IP地址的问题,国外有不少一部分IP已经被墙了,之前在Vultr买美国的VPS,遇到不少IP PING不通的情况,不过好在Vultr是实时计费的,随时可以再开机器试试IP。还有就是延迟和丢包问题,由于距离和线路原因延迟和丢包可能会严重到不能用的地步,我的Vultr就是因为丢包率居高不下而弃用的。(国外的主机是真的便宜,带宽也高,可惜啊)
  • 如果购买中国大陆的主机,价格便宜的往往带宽都很低,基本都是1Mbps,但由于在国内并且线路优化过访问起来还是挺流畅的。有一点需要特别注意如果想把域名解析到位于中国大陆的机器(ESC之类,虚拟主机之类等等)上,就必须要在云平台备案,否则你的域名会被阻断,而且换不同的云平台就需要重新备案。(备案超麻烦)
  • 还有一个选择就是购买位于中国香港的主机,香港的法律网站不需要备案。我也是第一次买香港的机器,感觉还行。延迟基本在100ms以内,丢包率也挺低的。但是实际使用感觉带宽不是很高。

域名选购

  • 国内购买的域名需要实名认证,否则不予解析
  • 国外没买过,不需要实名认证

软件安装配置

本文假设已root用户操作,否则请使用sudo指令

更新

apt update apt upgrade

Apache2的安装

有的系统预装的有Apache2,如果没有

apt install apache2

service apache2 start

此时在浏览器地址栏输入你的IP便能看到Apache2的默认页面了

MySQL的安装

apt install mysql-server

有的版本在安装过程中会提示你设置root用户的密码,有的默认空密码

PHP的安装

apt install php

apt install libapache2-mod-php

apt install php-mysql

此时将 /var/www/html 下的 index.html 内容改为 <?php phpinfo() ?> 并将文件名改为 index.php 重启apache2便能通过访问IP地址查看php信息了

MySQL添加用户和数据库

登录数据库输入密码

mysql -uroot -p

use mysql;

新建用户

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

新建数据库

CREATE DATABASE dataBaseName;

刷新

flush privileges;

给新用户权限

GRANT ALL privileges ON dataBaseName.* TO username@localhost identified by "password";

刷新

flush privileges;

WordPress的安装

从官网下载 wordpress 的 zip 文件包解压后将文件夹所有文件复制到网站根目录 浏览器访问地址输入数据库信息即可安装使用 WordPress

域名配置

  1. 在域名提供商处将域名解析到你的IP地址,生效需要几分钟

  2. 修改apache2配置,ubuntu下apache2的已启用站点配置文件为 /etc/apache2/sites-enabled/下的000-default.conf 按自己情况修改如下

    <VirtualHost *:80>

    1ServerAdmin webmaster@localhost 2ServerName www.sakurablossom.cn #你的网站名 3ServerAlias sakurablossom.cn #你的网站别名 4DocumentRoot /var/www/html #你的网站所在根目录 5 6ErrorLog ${APACHE_LOG_DIR}/error.log 7CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

重启apache2便能通过域名访问了

WordPress使用相关问题

  • 提示FTP 解决办法
  • 提示无法创建目录 chown -R www-data:www-data 你的网站根目录
  • 位于国内的站点出现主题插件下载失败或相关页面加载特别慢,网络问题暂时无解

工具推荐

  • Bitvise SSH Client 一款强大免费的 ssh&sftp 工具
  • MySQLWorkBench MySQL官方出品,可用来远程操作数据库(需MySQL开启远程访问)
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )