公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)
前言
上一篇重新安装了CentOS8.2之后,接下来开始安装部署PHP服务器,让公网可以访问到我们部署的PHP服务器首页。
背景
为什么自行搭建,是因为红胖子专业做相关Qt软件以及终端设备研发的,遇到像摄像头和终端设备等有时需要搭建的web服务器做远程控制,索性本次一趟水了做笔记了。
PHP
学习PHP之前,具备基础的HTML和CSS基础知识。
简介
- PHP(全称:PHP:Hypertext Preprocessor,即PHP:超文本预处理器")是一种通用开源脚本语言。
- PHP脚本在服务器上执行。
- PHP可免费下载使用。
支持的功能
- PHP 可以生成动态页面内容
- PHP 可以创建、打开、读取、写入、关闭服务器上的文件
- PHP 可以收集表单数据
- PHP 可以发送和接收 cookies
- PHP 可以添加、删除、修改您的数据库中的数据
- PHP 可以限制用户访问您的网站上的一些页面
- PHP 可以加密数据
- 通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。
特点
- PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
- PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
- PHP 提供了广泛的数据库支持
- PHP 是免费的,可从官方的 PHP 资源下载它:www.php.net
- PHP 易于学习,并可高效地运行在服务器端
安装部署PHP服务器
步骤一:yum安装apache
sudo yum install httpd

查看安装的最新版本:

步骤二:配置apache服务器
配置ServerName,修改ServerName为localhost
sudo vim /etc/httpd/conf/httpd.conf

重新后,检查是否开机启动httpd服务(区别于apache网站服务器):

步骤三:配置apache服务开机启动网站服务
检查是否运行服务:
systemctl status httpd.service

没有运行服务,需要启动服务,开启apache服务
systemctl start httpd.service

apache服务开机启动
systemctl enable httpd.service

确认已是开机启动,再次查看状态:
systemctl status httpd.service

然后,重启后,再次查看确认:
sudo reboot
systemctl status httpd.service
如下图,开机启动成功:

步骤四:yum安装php
没有选择版本,在命令安装的可以看到:
sudo yum install php php-devel php-pdo php-gd php-mbstring php-mysqlnd php-ldap php-json php-xml php-zip

php7.2.24版本,我们可以使用,输入y继续安装。
检查php版本:

检查php运行状态:
systemctl status php-fpm.service

老规矩,为了保险,重启再测一次:

步骤五:安装mysql
sudo yum install mysql mysql-server

步骤六:启动mysql服务初始化修改密码
安装完后,是没有启动服务的,先启动服务:
systemctl start mysqld.service
然后设置root的密码:
mysqladmin -u root password 123456

使用密码登陆:
mysql -u root -p

然后,修改密码,不同版本修改密码内部不同,但是外面一样:
mysqladmin -u root -p 123456 password 新密码

使用密码测试:
mysql -u root -p

网页服务器根目录
(注意:后续修改未403无权限,尝试未解决后,退回来原来的目录,具体查看“入坑一”,需要修改目录的可继续,若有问题实在解决不了再回退,copy就行)。
修改万维网的根服务器目录:
sudo vim /etc/httpd/conf/httpd.conf
修改为/home/yang/work/www

重启一次服务:
systemctl restart httpd.service

直接重启服务器了,也还是不行。然后修改回去又可以,怀疑是需要多修改几个目录:

还是不行,看日志为权限,检查文件夹,www文件夹忘记创建了,继续重启,重启成功了:
systemctl restart httpd.service

网页服务
查看配置:

第一个网页:

修改回原来的路径:

然后复制文件过去:

公网登陆服务器:

入坑
入坑一:登陆403错误
问题

尝试解决
关闭防火墙测试:不行。

打开根目录权限:不行。

修改权限775:不行。

解决方法
退回原来的路径就行了,方法试了不少,最终都没解决。

公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)的更多相关文章
- 公司官网建站笔记(一):腾讯云服务器装CentOS8.2系统、重置密码、远程ssh登陆、sftp传递文件以及新建开发者账户
前言 本篇使用的是腾讯云服务器,讲解了部署安装服务器CentOS8.2系统,重置密码,添加用户,远程登陆,远程传递文件等基本流程. 前提条件 购买了腾讯云服务器,如下图: 云服务器 ...
- 【Bootstrap3.0建站笔记二】button可下拉弹出层
1.button可下拉弹出层: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hpbmFwbGFu/font/5a6L5L2T/fontsize/400 ...
- 阅读Protobuf官网的一些笔记
阅读 Protobuf 官网的一些笔记 Protobuf API(The Protocol Buffer API) 每个字段都会有基本的 set_ get_ 方法 string类型的字段可以使用 mu ...
- 阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问
阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问
- 如何从sun公司官网下载java API文档(转载)
相信很多同人和我一样,想去官网下载一份纯英文的java API文档,可使sun公司的网站让我实在很头疼,很乱,全是英文!所以就在网上下载了别人提供的下载!可是还是不甘心!其实多去看看这些英文的技术网站 ...
- 建站笔记1:centos6.5下安装mysql
近期买了个域名,想要玩玩自己建站点:接下来遇到的问题都会一次记录下来.以备自己以后复习查看: 首先建站方案选择: wordPress +centos6.5 +mysql; server买的:搬瓦工最低 ...
- Github建站笔记
下载Git 搜索"Git",在官网中根据系统版本下载,并双击打开,按默认已勾选组件点下一步; 勾选在Windows命令行窗口中使用Git: 使用推荐的OpenSSL库用于HTTPS ...
- 后端——框架——容器框架——spring_core——《官网》阅读笔记——初篇
1.知识体系 spring-core的知识点大概分为以下几个部分 IOC容器 Bean的配置,XML方式和注解方式 Bean的管理,bean的生命周期,bean的作用域等等 与Bean相关联的接口和对 ...
- 利用raspberry pi搭建typecho笔记(二) sqlite和typecho部署
sqlite概述 typecho可以支持MYSQL和Sqlite两种数据库,因为Sqlite更为轻量,并且不需要额外的进程,而是直接对数据库文件进行读取,所以配置相对于MySQL也更为简单,仅需指定数 ...
- Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器
本文的实验环境:aws上的Redhat 7.x , 同样也适用于Centos 7.x 简单说主要分为三步: (1) 向官网同步yum数据,可以根据具体情况,创建脚本及配置周期例行任务 (2) 搭建w ...
随机推荐
- [转帖]CPU缓存行
https://www.jianshu.com/p/e338b550850f CPU缓存 执行程序是靠运行CPU执行主存中代码,但是CPU和主存的速度差异是非常大的,为了降低这种差距,在架构中使用了C ...
- 查找linux下面某目录下重名出现的文件以及次数
find . -name '*.data' -exec basename {} \;| sort | uniq -w32 --all-repeated=separate | uniq -c | sor ...
- 手工创建一个带sticky模块的nginx镜像 并且实现容器化负载均衡的方法
最近想进行容器化运行的nginx反向代理负载均衡服务. 找了一下 dockerhub上面的 nginx 发现里面不包含 sticky模块. 会报错为: nginx: [emerg] unknown d ...
- kubernetes中不可见的OOM
最近看了一篇文章:Tracking Down "Invisible" OOM Kills in Kubernetes,其讲述的是由于内存不足导致Pod中的进程被killed,但Po ...
- Object.defineProperty熬夜整理的用法,保证你看的明白!
Object.defineProperty的基本使用 <script> let personObj={ name:'何西亚', sex:'男' } //我们想给这个对象添加一个属性 // ...
- 【发现一个问题】extjs-gpl-7.0: 当修改 store 对象的字段后,再次 loadPage() 后字段映射错误。
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 因为查询中需要每次返回数目不确定的 fields ,这就需 ...
- 一个神奇的golang技巧:扩大heap内存来降低gc频率
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu 公众号:一本正经的瞎扯 具体的文章请看:https://web.archive.org/web/ ...
- 【JS 逆向百例】PEDATA 加密资讯以及 zlib.gunzipSync() 的应用
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- Django笔记七之ManyToMany和OneToOne介绍
本文首发于本人微信公众号:Hunter后端 原文链接:Django笔记七之ManyToMany和OneToOne介绍 ManyToMany 是一种多对多的关系,在用途和使用方法上和外键 Foreign ...
- net8来了
11 月 15 日开始的为期三天的 .NET Conf 在线活动的开幕日上,.NET 8作为微软的开源跨平台开发平台正式发布..NET 团队着重强调云.性能.全栈 Blazor.AI 和 .NET M ...