LAMP项目部署实战

一、LAMP环境部署

1、回顾LAMP

LAMP = Linux + Apache + MySQL + PHP

Apache:主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)

PHP:编程语言的一种,主要应用于Web开发。主要实现注册、登录、加入购物车、下单、支付等功能

MySQL:数据库,删库到跑路,这里的"库"就是指数据库。永久保存数据

2、LAMP部署前期准备

☆ 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

☆ 关闭SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

获取SELinux的状态:

 getenforce

临时关闭SElinux:重启后SELinux还会自动启动

setenforce 0

永久关闭SELinux:编辑SELinux的配置文件

vim /etc/selinux/config
SELINUX=disabled

☆ 检查系统中是否已安装Apache

 rpm -qa |grep httpdrpm -e httpd-2.4.6-90.el7.centos.x86_64rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64

☆ 检查系统中是否已安装MySQL

 rpm -qa |grep mysql

☆ 检查系统中是否已安装PHP

 rpm -qa |grep php

AMP安装指南:在Linux中安装AMP必须先安装Apache,在安装MySQL,最后安装PHP

3、LAMP环境之Apache安装

Apache:阿帕奇,Apache基金会

httpd软件 => 前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache的基金会。

第一步:安装httpd软件

   yum install httpd -y

第二步:配置/etc/httpd/conf/httpd.conf文件

  vim /etc/httpd/conf/httpd.conf/ServerName => 搜索96 ServerName localhost:80

localhost : 代表本机,对应的IP地址可以使127.0.0.1或本机的公网IP

第三步:启动httpd服务

systemctl start httpd

第四步:把httpd服务添加到开机启动项中

 systemctl enable httpd

第五步:使用ss或netstat命令查询httpd占用的端口

  netstat -tnlp |grep httpd或ss -naltp |grep httpd

第六步:在浏览器中,使用公网IP访问阿里云服务器

4、LAMP环境之MySQL安装

☆ 下载MySQL的官网yum源

由于yum源上默认没有mysql-server。所以必须去官网下载后在安装

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

☆ 安装MySQL的官网镜像源

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

☆ 使用yum安装mysql最新版软件

  yum install mysql-community-server -y

MySQL软件是一个C/S架构的软件,拥有客户端与服务器端。mysql-server服务器端(内部也包含了客户端),community代表社区版(免费开源)

☆ 启动mysql,查看端口占用情况

systemctl start mysqldnetstat -tnlp |grep mysqld

☆ MySQL数据库初始化(重要)

默认情况下,数据库没有密码,也没有任何数据,必须要初始化

① 初始化数据,设置root密码(MySQL管理员)

 mysql_secure_installation

扩展:以上说的root和Linux中的root不是同一个用户,这个root代表MySQL数据库的管理员,只不过这个管理员也叫root。

学习环境下,密码越简单越好。生产环境下越复杂越好。

② 把mysqld服务添加到开机启动项

  systemctl enable mysqld

默认已经开机启动,这里可以跳过

③ 连接MySQL数据库,测试

  mysql -u root -p 回车Enter password:输入刚才设置的密码,如123,回车mysql> show databases;   =>  代表显示所有数据库mysql> exit

5、LAMP环境之PHP安装

☆ 使用yum命令安装php软件

   yum install php -y

☆ 使用systemctl启动php软件(重启Apache)

 systemctl restart httpd

为什么启动php就是重启Apache呢?答:因为LAMP架构中,PHP是以模块的形式追加到Apache的内核中,所以启动php就相当于重置Apache软件

☆ 测试LAMP环境是否可以使用

第一步:使用cd命令进入/var/www/html目录

   cd /var/www/html

Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录

Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录

第二步:使用vim命令创建demo.php文件

   vim demo.php

第三步:编写php代码

 <?phpecho 'hello world';?>

编写完成后,保存退出,然后在浏览器中使用http://公网IP/demo.php

二、部署Discuz!论坛

1、Discuz!论坛概述

Discuz!论坛是基于PHP + MySQL进行开发的一套开源的论坛系统。

2、下载源代码

下载地址:https://gitee.com/ComsenzDiscuz/DiscuzX (码云)

3、使用MX软件把Discuz源代码上传

阿里云:

本地Linux类似

4、安装unzip解压缩软件

  yum install unzip -y

5、使用unzip对discuz.zip压缩包进行解压

    unzip discuz.zip

6、复制discuz中的文件到/var/www/html目录

  mv discuz/ /var/www/html/或cp -vRp disczu/ /var/www/html/

7、打开浏览器,输入公网IP地址

8、单击同意许可,继续安装

9、给/var/www/html目录设置可写权限

chmod -R a+w /var/www/html

注意:以上操作是给所有文件添加一个w权限,但是生产环境尽量针对指定文件添加权限。

10、解决PHP扩展问题

以上提示代表,安装PHP时没有按照php-mysqli扩展,所以会出现以上问题。

   yum install php-mysqli -ysystemctl restart httpd

11、设置运行环境

12、设置MySQL数据库的相关信息

13、设置管理员账号和密码

14、安装完成后,访问论坛首页

部署后,访问论坛首页,如下图所示:

三、域名与解析

1、为什么需要域名

我们现在访问论坛是通过IP地址实现的,但是IP地址比较复杂,更重要的是不方便用户记忆。

域名 => 代替公网IP地址

2、购买域名

登录控制台,然后选择域名菜单:

找到域名注册菜单:

找到想要注册的域名,然后加入清单,然后进行立即结算:

购买完成后,进入域名控制台:

3、把域名解析到公网IP

进入解析菜单,然后添加记录:

① 把www.itcast.top解析到公网IP

② 把itcast.top解析到公网IP

以上记录添加完成后,等待10分钟左右,即可使用域名访问论坛项目了!

4、域名备案

如果在国内运行项目,我们使用的域名必须要进行备案操作。

备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身份证照片(背景图)

由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。

https://beian.aliyun.com/

如果不想进行域名备案,可以购买中国香港、中国台湾以及国外的服务器,可以免备案。但是其运行速度略慢一些。

然后进行立即结算:

购买完成后,进入域名控制台:

3、把域名解析到公网IP

进入解析菜单,然后添加记录:

① 把www.itcast.top解析到公网IP

② 把itcast.top解析到公网IP

以上记录添加完成后,等待10分钟左右,即可使用域名访问论坛项目了!

4、域名备案

如果在国内运行项目,我们使用的域名必须要进行备案操作。

备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身份证照片(背景图)

由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。

https://beian.aliyun.com/

如果不想进行域名备案,可以购买中国香港、中国台湾以及国外的服务器,可以免备案。但是其运行速度略慢一些。

LAMP项目部署实战相关推荐

  1. day11-进程的优先级LAMP项目部署实战

    进程的优先级与LAMP项目部署实战 一.进程的优先级(扩展) 1.什么是进程的优先级 Linux是一个多用户.多任务的操作系统,系统中通常运行着非常多的进程.哪些进程先运行,哪些进程后运行,就由进程优 ...

  2. 2021-06-26进程的优先级与LAMP项目部署实战

    进程的优先级与LAMP项目部署实战 一.进程的优先级(扩展) 1.什么是进程的优先级 Linux是一个多用户.多任务的操作系统,系统中通常运行着非常多的进程.哪些进程先运行,哪些进程后运行,就由进程优 ...

  3. LAMP项目部署实战1

    一.说明: LAMP:Linux + Apache + MySQL + PHP Apache: Apache是世界使用排名第一的Web服务器软件.主要用于接收用户的请求,处理业务逻辑,返回结果给客户端 ...

  4. LAMP项目部署实战2

    部署Discuz!论坛 一.Discuz!论坛概述: 1)Discuz!论坛是基于php+mysql进行开发的一套开源的论坛系统. 2)下载源代码: 下载地址:码云DiscuzX: Discuz! X ...

  5. Linux下Docker及Docker-compose的安装及项目部署实战

    文章目录 1:Docker的安装 2: Docker Compose的安装 3:项目部署实战 1:Docker的安装 1:安装 1: yum install -y yum-utils device-m ...

  6. Linux基础学习五(1):java项目部署实战教程

    项目部署:就是将集成开发工具(eclipse.idea)中开发编译好的项目,部署到tomcat中运行的过程. 本地部署 本地部署:将项目部署到本机安装的tomcat中,可以借助于开发工具的本身的提供的 ...

  7. linux 退出服务器_Vue实战091:Vue项目部署到nginx服务器

    项目开发完成之后我们就需要将项目上线运行供用户访问,这时候我们就需要将项目部署到服务器上.对于Vue这种前端Web项目我们一般都部署在linux系统上,Linux常见的Web应用服务器有Apache. ...

  8. 【项目实战课】微信小程序图像识别模型前后端部署实战

    欢迎大家来到我们的项目实战课,本期内容是<微信小程序图像识别模型前后端部署实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解. ...

  9. nginx、uwsgi部署django项目理论+实战

    基本环境: Ubuntu 16.04.4 LTS python 3.5 virtualenv django project deployable #理论分析   部署django项目有很多方法,方法推 ...

最新文章

  1. java robot类自动截屏
  2. Oracle 11g Release 1 (11.1) Data Pump 导入模式
  3. 删除表中所有记录只留下第一条,按照rownum排他,使用rowid删除
  4. Java设计模式(五):单例设计模式
  5. STM32 进阶教程 13 – FLASH的读写操作
  6. 用HTTP的PUT方式发送请求
  7. android错误详解教程二
  8. HDU 5777 domino
  9. poj2349:Arctic Network(最小生成树)
  10. struts1基础入门
  11. html5 文本转语音,JS实现文字转语音播放之SpeechSynthesisUtterance
  12. windows C++ 解决Office打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”
  13. 阿里云云解析DNS怎么样?云解析DNS有什么优势?
  14. 第二章 SQL命令 ALTER TABLE(二)
  15. php怎么获得今天的日期,PHP怎么获取今天、昨天、明天的日期-php教程
  16. 手机市场变天:荣耀鸣枪,重回舞台中央?
  17. 数据资产盘点的流程和方法
  18. 不要一个人吃饭---人脉就是钱脉
  19. 雅思阅读考点词-同义替换
  20. linux 内核printk 打印信息查询方法

热门文章

  1. C.Emergency Evacuation(贪心)
  2. Android bug篇(一) design editor is unavailable until after a successful project sync
  3. 最常用有用的英语口语900句
  4. Creating variables on a non-first call to a function decorated with tf.function.解决方法!
  5. 【论文整理】基于图神经网络的社交推荐模型整理Graph Neural Networks for Recommender Systems: Challenges, Methods, and Direct
  6. 毕业年薪20万起!24届南京理工大学自动化最新三年考研院校分析
  7. 思谋发布首个工业大模型开发底座 大模型开发成本直降40%
  8. 【温故而知新】C和C++篇外篇:COleVariant类型
  9. 谁动了我的奶酪[续] 讨论
  10. 祖传代码成「屎山」了,千万别动