首先介绍一下LAMP和LNMP
LMAP即Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的首字母缩写。这是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。
Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
本次使用的CentOS为Linux的一个发行版。
Apache
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache的主程序名叫httpd,这也是我们实验的时候需要安装的程序之一。
MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
本次实验使用的数据库软件为MySQL的一个分支软件,叫做MariaDB。
php
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
WordPress
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。
LNMP和LAMP的区别
LNMP和LAMP的区别就在于使用Nginx而不是Apache。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
Nginx和Apache的优缺点对比
nginx 相对 apache 的优点:
轻量级,同样起web 服务,比apache 占用更少的内存及资源。
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能。
高度模块化的设计,编写模块相对简单。
社区活跃,各种高性能模块出品迅速啊。
apache 相对nginx 的优点:
rewrite ,比nginx 的rewrite 强大。
模块超多,基本想到的都可以找到。
少bug ,nginx 的bug 相对较多。
超稳定。
动手实操
假设你已经安装好了centos 了(如果不会,可以直接在阿里云购买)
先看下系统版本号,我当前装的是CentOs 7.4虚拟机
[itarea@centos-7 ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
[itarea@centos-7 ~]$
Apache安装
[itarea@centos-7 ~]$ yum install httpd -y
Loaded plugins: fastestmirror, langpacks
You need to be root to perform this command
报错提示没有权限,解决办法,改为root权限,然后输入密码回车
1
2
[itarea@centos-7 ~]$ su root
Password:
可以看到,用户切换成了root,再执行一遍安装
1[root@centos-7 itarea]# yum install httpd -y
接下来,我们启动httpd服务:
1[root@centos-7 itarea]# systemctl start httpd
[root@centos-7 itarea]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
可以看到http服务的80端口是处于监听状态的。
MySQL安装
1[root@centos-7 itarea]# yum install mysql mariadb-server -y
安装完之后开启MySQL服务:
1[root@centos-7 itarea]# systemctl start mariadb
[root@centos-7 itarea]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
可以看到mysql服务的3306端口是处于监听状态的。
进入Mysql,mysql第一次安装默认是没有密码的,输入后直接回车就行
[root@centos-7 itarea]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
创建一个名为wordpress的数据库
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
查看数据库,并切换到mysql数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]>
更改数据库用户名为root密码
1MariaDB [mysql]> update user set password=password('新密码') where user='root';
刷新用户权限列表,并退出重新登录
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
php安装
1[root@centos-7 itarea]# yum install php php-mysql php-gd php-xml -y
进入httpd主服务目录
1[root@centos-7 itarea]# cd /var/www/html
点击I切换到Insert模式,输入以下内容,按ecs键,输入:wq 并回车
echo phpinfo();
?>
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
:wq
然后,打开浏览器,输入主机http://ip/phpinfo.php就可以看到PHP的信息:
WordPress安装
安装WordPress并解压,WordPress最新版下载地址:https://cn.wordpress.org/txt-download/
[root@centos-7 html]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
[root@centos-7 html]# unzip wordpress-4.9.4-zh_CN.zip
注意:如果下载的地址不在/var/www/html目录下,你需要将文件移动到该目录下
1[root@centos-7 html]# cp -r wordpress/* /var/www/html
进入/var/www/html目录,复制wp-config-sample.php文件并将其命名为wp-config.php并编辑wp-config.php
[root@centos-7 html]# sudo cp wp-config-sample.php wp-config.php
[root@centos-7 html]# vim wp-config.php
然后找到下面这些内容,修改database_name_here为刚刚新建的数据库(本位为wordpress),username_here为root,密码为修改后的密码,然后按ecs输入:wq 退出保存
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'database_name_here');
/** MySQL数据库用户名 */
define('DB_USER', 'username_here');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'password_here');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
安装wordpress,在浏览器地址栏输入http://ip地址/wp-admin/setup-config.php,博主是本地测试的,所以ip地址为localhost(127.0.0.1)
点击现在就开始,如果刚刚已经配置了wp-config.php就会出现左图,如果没有配置就会出现右图
点击提交
点击安装wordpress,点击登录
输入用户名和密码,登录
成功啦,接下来的时间就交给你咯,嘿嘿,成功后,可以给博主留下网址哟,和博主一块分享下。