这篇博客带大家认识两种搭建网站的方式:LAMP和LNMP,然后我会部署LAMP环境,部署discuz论坛😀
Contend
一、了解LAMP和LNMP
(1) LAMP(Linux+Apache+MySQL+PHP)
-
Linux:当然指Linux操作系统
-
Apache:Apache基金会(托管很多服务),我们这边用Apache的httpd server作为网页服务器
-
MySQL:我们需要数据库存放我们的网页数据(常用就是MySQL,Oracle,这边我们就用centos下的MariaDB哦)
-
PHP:是通用服务器端脚本编程语言v,主要用于web开发实现动态web页面,也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一个命令行接口,因此,其也可以在大多数系统上作为一个独立的shell来使用。
(2)LNMP(Linux+Nginx+MySQL+PHP)
- 唯一和LAMP区别就是网页服务器使用nginx,我们了解一下nginx(对比Apache)。
- Nginx 性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
- 相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高。
- 作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP 代理服务器对外进行服务。Nginx 用 C 编写而成, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
- 作为邮件代理服务器:Nginx 同时也是一款非常优秀的邮件代理服务器(最早开发这个产品的目的之一,是作为邮件代理服务器)。
- 反向代理可以根据url将请求转向于不同用途的集群,比如图片请求,转向图片服务器集群;视频请求,转身视频服务器集群。
(3)二者的区别呢?
LAMP是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。很多企业和个人都选择在LAMP开发平台上搭建自己的网站。静态网页和动态网页都比较适用,很稳定,但是就是稍微占点内存。
相较于LAMP,LNMP使用Nginx 网页服务器取代了Apache网页服务器。如果你网站流量很大的话就可以用nginx做负载,它比较适用于静态网页多的情况,省内存哦,但似乎有点不稳定,但是经过不断的完善,已经很好啦。
二、部署LAMP环境
Linux中安装软件的方式主要有:通过编译源码安装、通过RPM安装、通过YUM仓库安装、第三方或自制一键式安装包。编译原码安装繁琐点,第三方或自制一键安装包就是用script编写的,网上很多,直接下载一键部署,这个我后面我会试下。我们这次主要利用YUM安装相关的软件。
2.1 配置yum源。我选择的是网易的,网速还可以。
[root@apache yum.repos.d] cd /etc/yum.repos.d/
[root@apache yum.repos.d] ll
#可以自己下载网易或阿里的yum源,我下载的网易下载后面装的软件都是OK的,大家也可以直接复制我的
[root@apache yum.repos.d]# vim CentOS7-Base-163.repo
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
#创建一个文件夹把这个目录文件放进去,只保留刚刚下载的,我偷懒了
[root@apache yum.repos.d] mkdir CentOS.repo.bak
[root@apache yum.repos.d] mv CentOS-* CentOS.repo.bak
[root@apache yum.repos.d] ll
[root@apache yum.repos.d] yum clean all
[root@apache yum.repos.d] yum repolist
2.2 安装http,关闭selinux,放行防火墙
#检查httpd是否安装
[root@apache yum.repos.d] rpm -qa | grep httpd
[root@apache yum.repos.d] yum install httpd -y
#关闭selinux,防火墙放行httpd
[root@apache ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@apache ~]# cat /etc/selinux/config
[root@apache ~]# setenforce 0
[root@apache ~]# firewall-cmd --permanent --add-service=http
success
#重启防火墙
[root@apache ~]# firewall-cmd --reload
success
#启动http,并且设置开机自启动
[root@apache ~]# systemctl start httpd.service
[root@apache ~]# systemctl enable httpd.service
下面就可以打开网页访问这个主机测试页啦
2.3 安装php和MariaDB
#安装php(php-mysql用来连接数据库的)
[root@apache ~]#yum install php php-mysql -y
#安装并启动MariaDB并进行初始化安装
[root@apache ~]# yum install mariadb-server mariadb -y
[root@apache ~]# systemctl start mariadb.service
[root@apache ~]# systemctl enable mariadb.service
#初始化安装,默认回车,设置root密码
[root@apache ~]# mysql_secure_installation
编辑个php文件检查和数据库是否连接
[root@apache ~]# vim /var/www/html/index.php
<?php
$link=mysql_connect('localhost','root','123456');
if($link)
echo "Success";
else
echo "fail";
mysql_close();
?>
#查看PHP扩展是否包含MySQL,如下是可以的
[root@apache ~]# php -m | grep mysql
mysql
mysqli
pdo_mysql
重启httpd服务器,firefox检查一下(显示如下界面我们LAMP环境就部署完成了)
[root@apache ~]# systemctl restart httpd
三、部署discuz论坛
网上找到discuz论坛,自己可以wget下载下,但是我发现没法下载,需要登录才能下载。所以我只好用windows下载好,通过Xftp上传到/root目录下。网上下的慢,我分享一下链接。
链接:https://pan.baidu.com/s/1HqxdaA9yQj725UaNXsQXJA
提取码:x767
3.1 将文件上传到/root下
3.2 解压文件,复制文件到/var/www/html 下,设置Apache用户权限
#将Discuz解压到当前discuz目录下
[root@apache ~]# unzip Discuz_X3.4_SC_UTF8【20191201】.zip -d discuz
#把upload目录下的所有文件复制到这个目录下
[root@apache ~]# cp discuz/upload/* /var/www/html/ -r
#设置Apache权限
[root@apache ~]# chown apache:apache /var/www/html/ -Rf
3.3 开始安装discuz
(1)点击“同意”
(2)检查环境以及文件目录
(3)我们选择全新安装:
(4)这边填的东西多一点,输入数据库的密码,还要创建discuz的管理员密码
(5)点击访问
(6) 这就登录到discuz界面啦
(7)注册个用户玩玩(其他都可以去琢磨下)
四、总结
有兴趣的童鞋可以去玩玩这个论坛,但我们主要还是熟悉整个LAMP的的部署,我只部署了一个discuz,如果我想在一台机器上部署多个站点呢?下面我会写一篇博客关于“基于多个虚拟主机的网站的搭建。” 比如我还想在这台机器上搭建一个WordPress博客系统呐,再用LNMP部署环境,下个博客见!😃
欢迎评论区与我交流讨论呐!