最近刚好因为活动买了一台新的服务器,空着也空着,刚好可以用来搭博客使用,搭建博客这件事。之前也做过很多次,不管是用静态博客生成器,还是手写一个博客项目。都尝试过,思来想去,这次打算用用WordPress,听闻许久,也该用用看了。
安装Nginx
yum -y install nginx
安装Mysql5.7
- 安装 mysql 官方 yum 源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 查看 MySQL yum 源
yum list | grep mysql
发现只有 mysql80 的包,这是因为没有开启 mysql57 的包,关闭80包,开启57包。
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
报错
-bash: yum-config-manager: 未找到命令
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。
- 安装 yum-utils 包
yum -y install yum-utils
- 再次查看Mysql包列表出现57安装包
- 安装 Mysql57
yum -y install mysql-community-server
- 启动 Mysql57服务
systemctl start mysqld
- 查看初始密码
grep 'temporary password' /var/log/mysqld.log
- 登录 Mysql,修改密码
mysql -uroot -p
set password for root@localhost = password('你的密码');
如果提示错误,那是因为 mysql57 对密码的复杂度进行了限制,依次执行下列命令,取消复杂度限制,再修改
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
提示错误
[root@izuf6fco0zwyipdq9485s2z ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- 如下操作修复
# 先关闭服务
systemctl stop mysqld
# 跳过权限验证
mysqld --user=root --skip-grant-tables &
# 登录
mysql -u root mysql
# 设置密码
UPDATE user SET authentication_string=PASSWORD('new password') where USER='root';
# 刷新设置
FLUSH PRIVILEGES;
安装 PHP7.2
php7.2 版本的 yum 源在 webtatic 上,但还有一部分需要依赖 epel-release 。EPEL(Extra Packages for Enterprise Linux ),是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。
- 安装 epel-release
yum -y install epel-release
安装完成后,在 /etc/yum.repos.d 目录下,就会多一个 epel.repo 的文件,还有一个 testing 的测试文件。当系统通过 yum 进行安装软件时,如果需要 epel 里的扩展包,就会自动下载安装。
- 安装 webtatic yum 源
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装完成后,在 /etc/yum.repos.d 目录下会多出 webtatic.repo 和 webtatic-archive.repo 两个文件,还有一个 testing 的测试文件。
- 查看 php 可以安装的包
yum list | grep php72
上面这些 rpm 包就是 webtatic 的 yum 源里面的包啦。我们要安装的就是 php72 的核心包 mod_php72w 和核心扩展包 php72w-cli 、php72w-fpm、php72w-common、php72w-devel。其它扩展选项包请根据需要安装,例如需要 php72w-gd 后期可单独安装。
- 安装php72
yum -y install mod_php72w php72w-cli php72w-fpm php72w-common php72w-devel
通过这种方式安装的 php72 的 php.ini 文件与我们认识的不太一样,它类似于 nginx.conf 存在一个主配置,通过类型 include 方法,包含指定文件夹下的模块配置文件。
- 启动php-fpm
systemctl start php-fpm
安装 WordPress
- 下载wordpress
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
- 解压到/home/目录下
tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /home/
- 登陆mysql并添加数据库,命名为wordpress
mysql -uroot -p
create database wordpress;
show databases;
- 备份nginx的配置文件
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
- 修改配置文件
vim /etc/nginx/conf.d/default.conf
重启Nginx服务时候报错,查看错误日志
vim /var/log/nginx/error.log
2018/11/14 17:15:23 [emerg] 14151#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to [::]:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to [::]:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to [::]:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to [::]:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: bind() to [::]:80 failed (98: Address already in use)
2018/11/14 17:15:23 [emerg] 14151#0: still could not bind()
看错误信息提示80端口已经被占用,无法重启Nginx服务,查看80端口进程是哪一个,并kill掉后,重启服务成功
netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 11333/php-fpm: mast
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10363/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 15636/sshd
tcp6 0 0 :::3306 :::* LISTEN 10604/mysqld
tcp6 0 0 :::80 :::* LISTEN 10363/nginx: master
kill 10363
service nginx restart
- 访问域名后显示WP的安装,我们点击进行填写mysql的用户名和密码
数据用户名和密码填写后报错
抱歉,我不能写入wp-config.php文件 ......
查看wordpress文件夹,发现是权限问题
ll /home | grep wordpress
drwxr-xr-x 5 nobody 65534 4096 2月 8 2018 wordpress
- 查看用户组
grep -E '^(user|group)' /etc/php-fpm.d/www.conf
user = apache
group = apache
- 设置访问权限
chown -R apache:apache /home/wordpress
再次访问成功!
参开链接:
https://laravel-china.org/articles/10803/this-weekend-theres-a-lot-of-pits-on-the-website-for-a-friend-to-do
https://blog.csdn.net/u011475134/article/details/80222098
https://laravel-china.org/articles/17377#296073