首页 > 其他分享 >Web部署

Web部署

时间:2022-12-18 18:11:50浏览次数:71  
标签:Web mariadb httpd 部署 命令 conf openEuler php

Web部署

实验简介

openEuler中基于LAMP部署WordPress

实验器材

本文环境基于华为云 的弹性云服务器 ECS:

CPU架构:选择鲲鹏通用计算增强型
操作系统选择 openEuler 20.03 64bit with ARM


LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:

  • Linux,操作系统,openEuler就是一种Linux发行版
  • Apache,Web服务器
  • MariaDB或MySQL,数据库管理系统(或者数据库服务器)
  • PHP、Perl或Python,Web后端语言,我们选用的是PHP

实验过程

配置openEuler

在华为云openEuler 安装后,没有配置yum源,我们通过重新配置。

cd /etc/yum.repos.d
vi openEuler_x86_64.repo 

添加以下内容

[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler

[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler

[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler

[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

安装LAMP

在shell中 通过下面命令安装Apache

yum install -y httpd 

通过下面命令开启Apache服务:

systemctl start httpd.service


通过下面命令,设置Apache开机自启动:

systemctl enable httpd.service

系统默认启动防火墙,会导致我们无法访问网站,通过下面命令关闭防火墙:

systemctl stop firewalld

通过下面命令禁止防火墙自启动:

systemctl disable firewalld


MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。它是大多数云产品的一部分,也是大多数 Linux 发行版的默认配置。MariaDB 被设计为 MySQL 的直接替代产品,具有更多功能,新的存储引擎,更少的错误和更好的性能。

通过下面命令安装mariadb:

yum install -y mariadb-server

通过下面命令开启mariadb服务:

systemctl start mariadb

通过下面命令给mariadb数据库的root账户设置密码123456:

mysqladmin -uroot password '123456'


通过下面命令安装PHP和PHP模块

yum install -y php
yum install -y php-mysqlnd php-fpm php-opcache php-cli 
php-curl php-dom php-exif php-fileinfo php-gd php-hash 
php-json php-mbstring php-mysqli php-openssl 
php-pcre php-xml libsodium



通过下面命令安装交互更加良好的nano 文本编辑器

yum install nano

通过下面命令查看Apache和mariadb的运行状态:

systemctl status httpd
systemctl status mariadb

通过下面命令查看Apache和mariadb是否已经开启了开机自启动:

systemctl list-unit-files | grep httpd.service
systemctl list-unit-files | grep mariadb.service


通过下面命令查看PHP的版本信息:

php -v


通过下面命令创建一个PHP测试文件测试PHP是否正常,输出重定向到test.php文件:

echo "<?php phpinfo();  ?>" > /var/www/html/test.php

通过下面命令给这个文件赋权限

chmod 755 /var/www/html/test.php

通过下面命令重启Apache服务:

systemctl restart httpd

安装部署wordpress

通过下面命令安装wget:

yum install -y wget

通过下面命令请求wordpress安装包(.ZIP):

wget https://cn.wordpress.org/latest-zh_CN.zip

通过下面命令查看mariadb的版本号:

rpm -qa | grep mariadb

通过下面命令登录到mariadb:

mysql -uroot -p

通过下面命令创建WordPress数据库:

create database wordpressdb;

通过下面命令安装unzip解压工具:

yum install -y unzip

解压latest-zh_CN.zip到/var/www目录下

unzip latest-zh_CN.zip -d /var/www

通过下面命令创建用户给Apache权限:

chown -R apache:apache /var/www/wordpress
chmod -R 755 /var/www/wordpress/

编辑Apache的配置文件:
应对文件做好备份(易出错)

nano /etc/httpd/conf/httpd.conf

编辑Apache的欢迎页面,将其内容都注释掉:

nano /etc/httpd/conf.d/welcome.conf

重启Apache服务:

systemctl restart httpd

转到下面这个文件夹:

cd /var/www/wordpress

创建 wp-config.php 文件:

nano wp-config.php

文件为空白,需自己编辑,详情见问题与解决部分
实例

:访问ip/wp-config.php(ip为华为云的弹性公网ip)
如果不成功,直接访问ip


登录

问题及解决

1、无法正常重新启动Apache
编辑修改Apache的配置文件时出现错误,更改了错误的地方
本编辑为了修改ip地址默认访问的路径
配置文件相关语句见下:

# vim /etc/httpd/conf/httpd.conf 
ServerRoot "/etc/httpd"      //服务器的根路径,改文件中所有涉及到的路径的根都是相对它而言的。
Listen 80        //监听的端口
Include conf.modules.d/*.conf   //包含辅助配置文件目录下的所有以.conf结尾的;;;文件(/etc/httpd/conf.modules.d/*.conf)

User apache       //运行web服务的用户
Group apache    

ServerAdmin root@localhost    //管理员邮件地址
#ServerName www.example.com:80  //服务器的名字
ServerName www.uplooking.com:80

<Directory />   ---容器,对整个目录中的东西进行设置,权限等等
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/var/www/html"    //web服务文档根路径

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks     //Indexes:索引目录,(默认没有主页时),允许索引目录   FollowSymLinks:支持符号链接  软连接
    AllowOverride None     //和访问权限有关  可以进行认证        None --不使用认证  all--应用所有的认证指令  AuthConfig  --允许使用与认证授权相关的指令
    Require all granted    //访问控制  所有人方行
</Directory>
    
<IfModule dir_module>
    DirectoryIndex index.html    //网站索引页的名称
</IfModule>

<Files ".ht*">   //以所有.ht开头进行模式匹配不能进行访问
    Require all denied
</Files>

ErrorLog "logs/error_log"    //错误日志的设定

LogLevel warn  //日志级别

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined   //日志格式规定
    LogFormat "%h %l %u %t \"%r\" %>s %b" common     //日志格式规定
    <IfModule logio_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio   //日志格式规定
    </IfModule>
    CustomLog "logs/access_log" combined  //访问日志
</IfModule>

<IfModule alias_module>   
    # Alias /webpath /full/filesystem/path   //给路径设置别名  意味着访问http://Server_ip/webpath时,其页面文件来自于/full/filesystem/path中
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"   //脚本路径的别名
</IfModule>

<Directory "/var/www/cgi-bin">   
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types    //支持哪些非二进制文件
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8   //默认字符集


#EnableMMAP off    //线程模式
EnableSendfile on   //开启进程模式(默认)

IncludeOptional conf.d/*.conf    //包含辅助配置文件目录下的所有以.conf结尾的文件(/etc/httpd/conf.d/*.conf)

2、页面访问失败
如果访问失败,我们可以先用test.php试验是否可以正常运行php文件,如果php环境没问题,就可能是权限的问题,用chmod 755修改wp-config.php权限,即可成功访问。
3、mariadb命令

4、wp-config.php配置指南
https://developer.wordpress.org/apis/wp-config-php/

感想

1、注意命令的准确性。
实验过程中出现命令的不准确导致无法成功完成
如mariadb中命令以;结尾,无分号无法执行。
2、注意help的应用
如mariadb中运用\h可查询相关命令,不会发生不会退出的问题
3、应先学习相关问题的学习
以Apache为例,编辑配置文件应先学习该文件,本次发生文件编辑不准出错的案例。
编辑wp-config.php也发生相关问题,并不是提供的所有文本均有用。
4、注意备份
编辑文件时发生错误后无法找回源文件,只能从头来,很不方便,大大拖慢了进程。
5、注意实验指导书内容
指导书中存在部分问题解决方法,开始没发现。

个人建议

1、希望视频与博客配套。
2、希望涉及到文本编辑的地方更细节一些。

标签:Web,mariadb,httpd,部署,命令,conf,openEuler,php
From: https://www.cnblogs.com/LizhenGfdhh/p/16990580.html

相关文章

  • Docker部署Nastool
    先弄清楚原理首先从【资源搜索】或者【推荐栏目】寻找自己想看的电影,执行订阅或者搜索资源启动下载,下载电影存放在downloads/mov目录下,【媒体整理】就是将mov子目录下电影......
  • Web Deploy发布网站错误 检查授权和委派设置
    webDeploy发布asp.net网站给我们提供方便,开始配置好了可以方便的发布网站,但是没过多久就出现无法执行此操作。请与服务器管理员联系,检查授权和委派设置。花了好长时间找到......
  • 实验八 web部署
    本次实验目的:在openEuler虚拟机上配置web环境。配置LAMPLAMP:LLinux,操作系统AApache,网页服务器,解析网页语言、接收用户请求并给与响应MMariaDB或MySQL,数据库管理......
  • IDEA中Maven项目 子项目中缺少parent标签及无web框架问题解决
    Question在maven项目中,创建的子模块的pom中没有标签,但父模块中有,造成运行时提示版本源过低原因:maven的settings.xml中默认jdk版本过低解决方法:在maven中指定jdk版本,找到......
  • 部署远程服务器
    远程访问提供两个方式:1、拨号网络2、虚拟专用网​虚拟专用网优点:1、成本较低2、连接方便可靠3、完全可靠​网络策略服务器的策略有哪两种:连接请求策略和网络策略​实验......
  • WDS服务(windows部署服务)
    WDS的全称为windows部署服务,主要用于大中型网络中的计算机操作系统的批量化部署(批量装系统)​WDS部署服务的主要优势:降低成本,操作简单2、允许基于网络安装windows操作系统......
  • docker 部署 禅道
    docker部署禅道官方文档:https://hub.docker.com/r/idoop/zentao1、创建本地目录:mkdir-p/data/zbox2、免去sudosudogroupadddocker#创建新用户组sudousermod-aG......
  • docker部署jenkins
    docker部署jenkins1、拉取镜像dockerpulljenkins/jenkins:jdk112、启动容器dockerrun--namejenkins-p8120:8080jenkins/jenkins:jdk113、一直下一步安装即......
  • WebApi 路由机制剖析
    从网上看了WEBAPI理解感觉不错分享一下一、MVC和WebApi路由机制比较1、MVC里面的路由在MVC里面,默认路由机制是通过url路径去匹配对应的action方法,比如/Home/GetUser这个......
  • 实验八-Web部署
    一.实验过程在华为云openEuler安装后,没有配置yum源,我们通过重新配置。cd/etc/yum.repos.dviopenEuler_x86_64.repo增加下面内容:安装LAMP在shell中通过下面命......