由于对数据库容量要求比较大,年费用300左右的普通虚拟主机只能提供500M-1G的数据库,不能满足要求,故寻找到同样费用的云服务器单核、1G内存、系统盘50G,缺点是只提供基本系统centos,其他要自己搭建,经过一周摸索终于能正常运行。

全部安装完成后占用硬盘8G左右,包括2G的扩充虚拟内存。原机提供的1G内存很容易用完(mysql占用40%-60%内存),这样系统会杀死一些进程,使得网站可能不能正常使用。所以要扩充虚拟内存。

这里使用的是HK的云服务器,有些服务商安装初始系统时已经给配置了虚拟内存,用 free -h 查看swap情况。

这里系统软件选择的是centos8

*****************************每部分间隔*****************************************

0、前期准备

a、一般通过SSH协议终端模拟器软件远程操作服务器,所以要下载相关软件,这里用Xshell,软件下载、使用都很简单的,这里就不介绍了。

b、由于要经常使用vi编辑文件,vi默认没有显示行号,下面先增加行号显示

echo 'set nu' >> /etc/virc

//没有行号无所谓的可以略过

c、为了传文件方便,安装上传下载软件,可以不装
yum install lrzsz -y

d、关闭防火墙,如果没开就略过

systemctl stop firewalld

*****************************每部分间隔*****************************************

1、扩充虚拟内存

如果服务商已经扩充了虚拟内存,可跳到第2步。

使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意)1m*2048=2G ,内存大小根据需要来定。
dd  if=/dev/zero  of=/var/swapfile  bs=1m  count=2048

对交换文件格式化并转换为swap分区
mkswap  /var/swapfile

挂载并激活分区
swapon   /var/swapfile

//如果不能正常开通,就增加权限  chmod -R 0600 /var/swapfile

开机启动设置
echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab

vi /etc/sysctl.conf
//在最后一行加上“vm.swappiness=30”  一般是60,
或 echo "vm.swappiness = 30"  >>  /etc/sysctl.conf

//开关wsap
swapoff  /var/swapfile
swapon  /var/swapfile

free -h 检查swap

*****************************每部分间隔*****************************************

2、安装Apache

Web服务器软件之一,Apache HTTP Server ,简称Apache,也可安装其他服务器软件,自己搜索

a、安装apache
yum install httpd -y

查看httpd安装位置
rpm -ql httpd

b、修改配置文件httpd.conf
vi /etc/httpd/conf/httpd.conf

//vi操作,按字母i开始修改增加文件内容,完成后按ESC退出编辑模式(不是退出vi), :wq!  保存文件并退出vi

106行   128
AllowOverride None 全部修改为 AllowOverride All  #修改前看看相关文章,也可以不改

167行  增加默认启动文件,排前面的有优先权
在 DirectoryIndex index.html 后面加上 index.htm default.php index.php index.shtml

c、启动apache

----------额外提示开始--------------

//注意:空格,有时候复制的命令不能正确执行原因是空格(空格可能是非英文的空格)造成的。辨别方法,复制这个命令粘贴到Notepad++ 空白文件里,尽量放大,观察空格的形态,如果空格里有个淡橙色的小点,说明空格是正确的,如果空格区域说明都没有,那这个空格就不是纯英文的空格,注意图中2个空格对比。

//比如执行这个命令systemctl enable httpd.service

//会出行错误提示-bash: systemctl enable httpd.service: command not found

---------------额外提示结束---------------

systemctl start httpd.service     //systemctl start httpd 也可以

systemctl enable httpd.service      //开机自启apache服务器

提示:如果启动失败,很有可能是因为80端口被占用。此时,需要修改监听端口。

vi /etc/httpd/conf/httpd.conf,找到 Listen 80,修改为 Listen 8080。

*****************************每部分间隔*****************************************

3、尝试访问网站

一般来说,这样就可以通过ip地址、域名(域名要解析到服务器的Ip,此时域名访问不能使用https://.....  方式访问,只能使用http://...... 访问)进行正常访问网站

域名解析如下图, 对应值是服务器的ip,各域名服务商可能不一样,大致差不多。

其实只要安装了apache,启动apache,不做任何设置就可以通过ip来访问, http://服务器IP

注意:新安装的apache不支持 https://服务器ip  ,装了SSL证书才能用https://....  访问

*****************************每部分间隔*****************************************

4、安装SSL服务器证书

SSL 证书,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能,使用HTTPS访问网站。简单来说HTTPS是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。

在阿里云申请免费SLL,有效期一年,个人可以免费申请20张   申请免费DV单域名试用证书,  介绍说不支持为公网IP申请免费证书,我试过可以,可能要看服务器商提供IP情况。

域名注册服务商有的提供1元购买SSL,有效期也是一年,具体情况问自己的域名服务商。

将阿里的ssl文件解压,得到3个文件,为了省事(少敲键盘)把长文件名改了部分,ali是修改的,其他不没修改。

a、把3个文件上传到服务器,

cd /

mkdir cert

cd cert

rz -y  //上传文件,会出来一个对话框,找到下载的3个文件,点确定,上传结束后窗口会关闭

b、编辑ssl配置文件

vi /etc/httpd/conf.d/ssl.conf

//下面说的行号,可能会有小小不同,如果行号不对,就查找对应语句

第5行 看443是否打开监听,一般是去掉每行第一个字符#

#Listen 443 https  --> Listen 443 https

//阿里的免费 SSL,一定要把3个文件都加上
85   SSLCertificateFile /cert/ali_public.crt  #修改证书的保存位置
93   SSLCertificateKeyFile /cert/ali.key
102 SSLCertificateChainFile /cert/ali_chain.crt

//去掉#号,域名换你的域名,
43  DocumentRoot "/var/www/html"
44  ServerName www.example.com:443

然后保存退出

c、将http强制转换https

vi /etc/httpd/conf/httpd.conf

107行后加入    (<Directory>.....</Directory>中)

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

保存退出

重启apache
systemctl restart httpd.service   //apachectl restart

d、访问网站,一般就可以正常访问了
https://*****.com ,如果浏览器只显示缓存内容,按F5刷一下

*****************************每部分间隔*****************************************

5、安装PHP

查看是否安装过php旧版本
rpm -qa|grep php*   or  yum list installed |grep php

如果有就删除
yum remove php*

安装php

yum install php php-devel

php要使用mysql数据库,必须安装对应模块,否则无法对接mysql。如果不需要可以不装
a、yum search php  //查找安装源里与php相关的软件,找到php-mysq* 等软件名称,这里选的是        php-mysqlnd.x86_64
b、安装mtsql模块:yum -y install php-mysqlnd.x86_64
c、再安装常用的PHP模块,比如GD库,curl,mbstring,… ,也可以不装
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

------------php时区问题开始-------------------

关于php时区问题,由于服务器所处的位置,国家、地区不同,php默认的时区有可能不是北京时间,那么在时间读取上会有时差,所以要确认时区,如果已知时间正常可以不不=管时区的问题。

修改php时区,设置date.timezone =Asia/Shanghai,注意去掉该行排头的分号;
vi /exc/php.ini
902 date.timezone=Asia/Shanghai

重启php
ps -ef | grep php* //查询php进程,用来确定重启的文件名,不同版本php具体名称可能不同
systemctl restart php-fpm.service

------------php时区问题结束-------------------

重启apache 
systemctl restart httpd.service

---------------------
如果php不能执行,
你的apache 还不支持解析php
打开 httpd.conf 文件 找到 #AddType application/x-tar .tgz
在后面添加 AddType application/x-httpd-php .php
重启systemctl restart httpd.service

如果还不行,再检查 php.ini 的short_open_tags 选项是否打开 
---------------------------------------------

6、安装mysql

安装MySQL ,适合centos8的
yum install mysql mysql-server mysql-devel -y

#查看数据库版本
mysqladmin --version

启动mysql服务并设置为开机启动
systemctl enable --now mysqld

systemctl start mysqld //启动mysql 
systemctl stop mysqld   //

service mysqld restart //重启MySQL服务

systemctl status mysqld  //查看数据库状态

mysql -u root -p  //登录mysql,如果是新安装的直接按回车

进入mysql后,建立一个演示用的数据库,注意大写部分
CREATE DATABASE testdb;

显示数据库,就可以看到刚建立的数据库
show databases;

--------------mysql增加新用户及权限设置开始-------------------------------

php要操作mysql,必须要有一个用户名、密码、及相应的权限,直接用root也可以,但是不建议这么做。

1、生成新用户
CREATE USER 't123'@'localhost' IDENTIFIED BY '123456';

2、给新用户增加权限,否则php无法访问数据库
GRANT ALL ON testdb.* TO 't123'@'localhost';  //只能本地用户t123访问testdb数据库

--------------mysql增加新用户及权限设置结束-------------------------------

7、编写php代码,连接testdb数据库

<?php
header("content-type:text/html; charset=UTF-8");$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 't123';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$dbname = "testdb";  //数据库名称
$conn=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
if (!$conn)
{die("连接失败,错误: " . mysqli_connect_error());
}else{die("连接成功!");
}
?>

运行代码,测试是否连接成功

至此,云服务器centos8搭建网站 apache+php+mysql 搭建过程全部完成。

云服务器centos8搭建网站 apache+php+mysql相关推荐

  1. 阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装

    阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装 一. JavaWeb环境搭建 步骤1:登录 Linux 实例 1.使用标准方式登录 Linux 实例(推荐) 浏览器直接搜索阿 ...

  2. 阿里云注册账号、购买云服务器、搭建网站全流程(图文教程)

    阿里云作为国内用户量最多的云服务器商,很多用户都喜欢使用阿里云服务器来搭建自己的网站或应用,这必然要经过注册阿里云账号.购买阿里云服务器.搭建网站或应用这三个步骤,以下是完整的图文教程,以供参考: 一 ...

  3. 使用腾讯云服务器快速搭建网站教程

    已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔 ...

  4. 阿里云服务器ECS搭建网站完整方法教程

    阿里云服务器怎么使用?下面主机教程网来说一下阿里云服务器ECS搭建网站完整方法教程. 一.购买阿里云服务器 1.地域.机型.镜像.公网带宽.购买时长等配置都是根据自己的需求进行选择的,不同的配置相应的 ...

  5. 阿里云服务器快速搭建网站(官网教程)

    1. 登录云服务器 在购买ECS服务器后,系统会创建一个ECS实例.每一个ECS实例对应一台已购买的云服务器.您可以通过电脑上自带的终端工具访问云服务器,进行应用部署和环境搭建. 在ECS实例列表页面 ...

  6. 阿里云服务器ECS 搭建网站

    目录 文章简介 构建网站流程 域名注册 云服务的选择 网站搭建 1)安装 apache 2)配置apache 域名解析设置 HTTPS 证书配置 免费证书购买申请 证书下载和安装 总结 文章简介 本栏 ...

  7. 阿里云服务器部署网站(保姆级教程) 阿里云搭建宝塔面板 云服务器ECS搭建网站

    阿里云服务器部署网站 这两天白嫖了一个免费的云服务器就想着自己建个网站,以前用过轻量级服务器,那个搭建起来比较容易,现在用的是云服务器ECS ,第一次接触,因为以前没做过,想在网上找找教程,结果教程五 ...

  8. 云服务器bcc搭建网站,云服务器BCC(Baidu Cloud Compute)介绍

    特性 快速创建 秒级资源获取,一键部署计算资源,并可按需使用,无需考虑计划.采购和维护硬件的成本和复杂性:秒级资源调度响应,同时创建多台服务器,可在几十秒内完成,显著提高工作效率. 高性能 采用领先的 ...

  9. 星聚宝—云服务器快速搭建网站(阿里云服务器举例)

    零:买域名 何为域名?blog.csdn.net就是CSDN网站的域名,建网站得先有个域名吧,后续去申请注册个,这里主要讲述搭建. 一:云服务器厂商选哪家最靠谱? 按照规模,性能来说,阿里云>腾 ...

最新文章

  1. AAuto如何设置combobox
  2. 陶哲轩实分析命题10.1.7
  3. POJ 3265 DP
  4. reverse() 几种操作
  5. linux 访客日志ip,shell统计ip访问情况,要求分析访问日志分析。
  6. NewCode----给定两个数R和n,输出R的n次方
  7. 400. 第 N 位数字
  8. ddl dml dcl
  9. springboot整合rocketmq_面试官:简单说一下RocketMQ整合SpringBoot吧
  10. sizeof(std::string) 的大小
  11. SpringBoot项目:抽奖精灵
  12. 5大可以赚钱的视频平台,及收益渠道!
  13. 僵尸网络瞄准Linux服务器
  14. 服务器设置静态IP地址教程,在Ubuntu服务器18.04上设置静态IP地址
  15. java计算机毕业设计基于安卓Android的禁毒宣传APP(源码+系统+mysql数据库+Lw文档)
  16. Java的学习之路Day08
  17. linux mysql dengl_mysql中类似oracle的over分组实现
  18. PrintWriter的print和write输出区别
  19. 使用jQuery实现五星好评
  20. 进行大数据测试需要关注那些测试点?

热门文章

  1. day 54 Sqoop
  2. FRR vxlan实验
  3. 微信公众平台 - 微信内置浏览器 WeixinJSBridge.invoke(‘xxx‘) API 报错:system:access_denied(常见于微信支付、分享朋友圈/转发好友等功能)解决方案
  4. AtCoder Regular Contest 113训练赛(暴力,快速幂,贪心)
  5. 申宝策略-元宇宙板块拉升
  6. windows10电脑连接热点网速贼慢,但USB网络共享和插网线却很快解决
  7. 基于java的网上人才招聘系统
  8. 电脑硬盘数据恢复( 4个简单方法!)
  9. python airflow_airflow 实战总结
  10. 二建和一建应该如何复习备考?