前言
此文介绍了如何安装LNMP环境以及安装WordPress。
本文服务器为阿里学生云轻量服务器,系统为CentOS Linux release 7.6.1810 (Core),1核2G。
本人也只是初学建设网站,所有的内容都未必是最优解,只是把我所尝试成功的步骤整合起来而已,希望能给予参考。
安装LNMP
如果你是刚刚拿到服务器,无论如何都建议你先升级软件。
升级软件和系统
yum -y update
或者只升级软件
yum -y upgrade
然后建立快照,万一哪里出了差错不知道如何更改的话可以直接回滚,从零开始。
建立快照之后你就可以思考你到底想怎么安装LNMP。如果你只是单纯想要建一个写博客的网站,一键安装就可以了,十分稳定,也易于管理。如果你存在学习Linux的意愿,自己手动挨个安装LNMP+WordPress也是值得推荐的事。
我是自己手动安装的,非常麻烦,也很难用,常常出问题,但是很快乐。实际上自己手动安装也只是把别人准备好的代码手动运行一遍。为什么我要手动安装呢?答案什么的我也还在寻找。
一键安装LNMP
一键安装LNMP的话有两个比较推荐的办法。
宝塔Linux(+WordPress)
首先去官网查看它的安装方式。
centos7.1+的安装方式为一键安装:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
记得开启8888端口。
键入代码 bt default
可以看见宝塔的登录链接,账号密码。
进入链接,如果你有开启8888端口的话,你可以看见宝塔的登录页面,可视化操作。
不推荐直接使用宝塔界面刚进去时候的推荐安装套件,到侧栏点击软件商场安装nginx,php,mysql最新的稳定版本。
编译安装(费时间)和极速安装(在稳定性与速度似乎有一点点差距,但是难以察觉,推荐)都是不错的选择。
在安装完之后看看有没有可以更新的小版本,更新一下比较好,等网站搭起来就不好更新了。
然后进入一键部署的界面,一键部署WordPress。
接下来是图像界面自己来吧。
用宝塔是真的轻松,是真的好好用,是真的可以让你集中于创作文章,不必劳烦于维护网站。推荐。
LNMP一键安装包
这是某一位大佬封装的一键安装LNMP的安装包,可以简单快速地安装LNMP。
我没有使用这种办法,不是很了解,具体的你可以到它的网站查看。
安装完LNMP可以再去安装WordPress。
挨个安装LNMP
百度安装
相信我,这能让你得到最新的教程,这估计也是你来到这里的理由。
手把手安装
这是我选择的安装方式,整合了阿里云和腾讯云,以及网上一大堆已经不知道是哪里网站的内容。
顺便一提,腾讯云提供免费云主机给你测试,你也可以在它哪里随便试不怕出毛病,时间是限制是45分钟,冷却24小时。
软件的版本请自己做出选择,最新的可能不稳定。
创建用户www
直接使用root用户管理软件不可取,我们建立www用户管理nginx,php及wordpress的数据库。
#创建www用户组
groupadd www
#创建www用户,家目录为/usr/www,添加到用户组www
useradd -d /usr/www -g www www
安装nginx
这个软件的官网就有教怎么安装。
安装 Yum 源管理工具:
sudo yum install yum-utils
创建文件 /etc/yum.repos.d/nginx.repo
输入内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
如果你想要使用主线版本推荐,可输入下面的命令:
sudo yum-config-manager --enable nginx-mainline
安装nginx:
sudo yum install nginx
配置nginx
修改/etc/nginx/nginx.conf:
user www www;
#这里为用户 用户组。
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
client_max_body_size 20m; #此处调整可上传的最大文件大小
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
进入/etc/nginx//etc/nginx/conf.d/
修改default.conf文件名为default.conf.bak。
新建文件wordpress.conf
server {
listen 80;
root xxx/wordpress; #xxx为你要安装的wordpress路径,wordpress的父目录最好只有wordpress一个文件夹。
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
启动nginx
systemctl start nginx
设置开机启动nginx
systemctl enable nginx
如果成功启动可以访问http:ip地址,不再是访问失败页面。
安装PHP 7.3.x
使用remi的源来安装,首先添加源:
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装PHP:
yum --enablerepo=remi-php73 install php php-fpm php-mysql -y
按照腾讯云上的教程似乎只要安装这么些,不过为了避免以后缺这缺那的,我还安装了:
yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
运行以下命令查看PHP版本。
php -v
返回结果如下所示,表示安装成功。
PHP 7.3.7 (cli) (built: Jul 3 2019 11:30:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
修改/etc/php-fpm.d/www.conf里的user和group 为www。
启动php-fpm:
systemctl start php-fpm
设置开机启动php-fpm
systemctl enable php-fpm
安装Mysql
去官网获取你想要的mysql版本的源,记得对应系统版本。
据说8.0版本数据库的读写速度是5.7的两倍,但是占用内存也更大。
根据宝塔的说法MySQL8.0需要至少4核及以上CPU,至少8GB内存。在配置不足的情况下,速度没有MySQL5.7好。但是对我来说只是多占用一点点内存,速度真的很难说出差距来。虽然MySQL8.0不一定更快更稳定,但是使用最新版软件一定更快乐。
运行以下命令更新YUM源,此为8.0的源,因为官网随时都有可能更新而我不太可能更新,所以还是自己到官网找源比较好。
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
运行以下命令安装MySQL。
yum -y install mysql-community-server
运行以下命令查看MySQL版本号。
mysql -V
返回结果如下,表示MySQL安装成功(此为8.0版本)。
mysql Ver 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)
运行以下命令启动MySQL服务。
systemctl start mysqld
运行以下命令设置MySQL服务开机自启动。
systemctl enable mysqld
运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。
# grep 'temporary password' /var/log/mysqld.log
2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD
说明 下一步重置root用户密码时,会使用该初始密码。
运行下列命令配置MySQL的安全性。
mysql_secure_installation
安全性的配置包含以下五个方面:
重置root账号密码。
Enter password for user root: #输入上一步获取的root用户初始密码
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y
New password: #输入新密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
Re-enter new password: #再次输入新密码
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
输入Y删除匿名用户账号。
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #是否删除匿名用户,输入Y
Success.
输入Y禁止root账号远程登录。
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
Success.
输入Y删除test库以及对test库的访问权限。
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
- Dropping test database...
Success.
输入Y重新加载授权表。
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
Success.
All done!
配置数据库
#输入密码
mysql -u root -p
为wordpress创建数据库,建议名称为wordpress
CREATE DATABASE wordpress;
创建用户,不建议wordpress的用户名称为wordpress,
create user '用户名'@'localhost' identified by '用户密码';
下面的语句将wordpress数据库的所有操作权限都授权给了用户。
alter user '用户名' identified by '用户密码';
#授予用户wordpress数据库所有权限
grant all privileges on wordpress.* to '用户名'@'localhost';
#改变mysql 8.0的密码认证,如果安装mysql 5.7则不需要。
#如果不改变则wordpress无法连接数据库。
ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '用户密码';
#刷新权限
flush privileges;
exit;
安装wordpress
于官网下载最新版本wordpress,解压到/etc/nginx/conf.d/wordpress.conf 中设定好的地址。
进入wordpress文件夹,复制wp-config-sample.php文件并重命名为wp-config.php。
修改其中四条语句:
/** MySQL databasename */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', '用户名' );
/** MySQL database password */
define( 'DB_PASSWORD', '密码' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
在你喜欢的浏览器中访问:http://ip地址/wp-admin/install.php
可以进入可视化的wordpress安装界面。
依次输入网站标题,管理网站的(与数据库的用户不同)用户名、密码、邮箱。
wordpress汉化 官方文档
官网安装的有可能是英文初始界面,安装之后wordpress会提醒你更新翻译,之后在设置中能更改语言。
不过它的提醒可能不及时,你也可以在官网下一个.mo文件,在你的服务器上的 /wp-content
建立文件夹:/languages
,上传 .mo 文件到刚刚创建的 languages
文件夹。然后在设置处更改语言。
注意:define ('WPLANG', 'zh_CN'); 从 4.0版本以后不再支持
WordPress也许会提醒你不能升级,不能修改文件,具体原因是权限不足:
#将WordPress父目录的拥有者改为www(用户):www(组)
chown www:www xxx
#设置WordPress父目录的权限为拥有者可读写执行,群组和其他权限为可读可执行
chmod -R 755 xxx
之后就是可视化界面了,自己慢慢来吧。
Comments | 2 条评论
博主 arc
请问下右侧的导航栏怎么设置的?
博主 簿之道誒
@arc 这是主题自带的,如果你和我使用相同的主题。你可以在主题设置->顶部配置->移动端菜单显示模式(顶栏or侧栏)。将顶栏改成侧边栏。