lnmp是什么?:
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL不仅是开放源代码的,也因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。因为PHP的开源性、免费性、快捷性等特点使其成为目前最流行的编程语言。
wordpress:是基于PHP和MySQL的免费开源内容管理系统(CMS)。 它是全球使用最广泛的CMS软件,截至2019年5月,它为排名前1000万个网站中提供了超过30%的支持,并拥有在使用CMS构建的所有网站中,估计有60%的市场份额。
LNMP:nginx+mysql+php
linux操作系统内,客户通过访问网页(nginx)某个东西,当静态网页时,nginx自己处理,需要一些动态处理就会通过php实现,mysql数据库为内容储存管理,后方实现为wordpress博客
#首先:可以使用centos的阿里云yum源来进行安装
#对防火墙进行关闭,setenforce是Linux的selinux防火墙配置命令, 执行setenforce 0 表示关闭selinux防火墙(阿里云服务器不需要这两步,只需要加入端口到安全组就可以
端口:
nginx:8080,mysql:3306,)
关闭防火墙
systemctl stop firewalld
setenforce 0
#需要把本地yum源保存到bak文件下(备份)
cd /etc/yum.repos.d && mkdir bak && mv *repo* bak/
#下载阿里云的centos 7源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清空本地yum源
yum -y clean all
#重建本地yum仓库
yum makecache
*用的虚拟机的话,需要安装epel源,用于下载第三方额外的软件(nginx,redis等等)*
yum install -y epel-release
#安装相关的yum软件包和lrzsz上传下载命令
yum install php-mysql php-fpm php nginx mariadb-server mariadb lrzsz -y
#nginx的默认配置网页
/var/www/html/index.html
#nginx的配置文件
vi /etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/html; #自己修改的nginx的静态页面储存位置
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location ~ \.php$ {
root /var/www/html; #php配置项
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
index index.php index.html;
}
}
#查询nginx配置文件是否有问题(ok表示配置没问题)
nginx -t
#编辑相关的php文件
vi /var/www/html/index.php
<?php>
phpinfo();
<?>
#启动相关服务nginx、mariadb、php-fpm
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
#浏览器中查询域名,看是否显示php页面
ifconfig:查询本地ip
ip/index.php
#下一步配置数据库相关的wordpress
#常规化安全设置(编译安装完mysql5.6,如果用于生产环境,最好做一些常规化安全设置)。
mysql_secure_installation
#Enter current password for root (enter for none):<–初次运行直接回车
#Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
#New password: <– 设置root用户的密码
#Re-enter new password: <– 再输入一次你设置的密码
#Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
#Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
#Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
#Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
#初始化MariaDB完成,接下来测试登录
mysql -uroot -p
#设置相应的wordpress用户,wordpress配置文件需要与其一样(下面为删除库和用户命令drop database WDB; Drop user WUSER;)
CREATE DATABASE WDB;
CREATE USER 'admin'@'%' IDENTIFIED BY '1111111';
grant all on WDB.* To 'admin'@'%' IDENTIFIED BY '111111';
flush PRIVILEGES;
grant all privileges on WDB.* to admin@% identified by '111111';
#下载wordpress软件包(下载的人比较多,访问特别慢,wget -c是一直下载,下载中也会一直下载,新版最好是5.0版本以下,否则php就需要5.6版本)
#删除php的静态网页包后,安装wordpress,解压后用于wordpress的页面
cd /var/www/html && rm -rf index.php
wget -c https://cn.wordpress.org/download/releases/wordpress-4.9.4-zh_CN.tar.gz
tar zvxf wordpress-4.9-zh_CN.tar.gz
rm -rf wordpress-4.9-zh_CN.tar.gz
cd wordpress/
cp wp-config-sample.php{,.bak}
mv wp-config-sample.php wp-config.php
vi wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'WDB');
/** MySQL数据库用户名 */
define('DB_USER', 'WUSER');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'WPASS');
#开始网页访问
设置密码等东西~,可以开始博客之旅
补充:
下载主题时候,需要
chown -R nginx.root wp-content/
chmod -R 777 wp-content/
上传文件大小设置:php.ini内(find / -name php.ini)
file_uploads = on ;
upload_max_filesize = 20M;
post_max_size = 20; post上限,一般来说,post_max_size设置要比upload_max_filesize稍大一些
还需要根据实际情况调整下面的选项
max_execution_time = 180; 脚本最大执行时间(秒),过短会导致文件还没上传完脚本就停止了
max_input_time = 180; 请求最大传输时间,过短会导致文件还没上传完传输就停止了
memory_limit = 128M; 内存上限