今天想用wordpress搭个博客,我的服务器是腾讯云的,然后腾讯云里有官方文档搭建的,但它是用centos为例,
搞得我的ubuntu跟着它走了些歪路,然后结合网上其它资料,终于一点一点的解决了。
声明 :参考这篇博文的尽量跟我的环境一样,因为如果不一样的话,那些配置文件的位置可能不同,这样就不方便了。
我把遇到的问题都一个个记下来,真的遇到太多坑了。
说明 :关于服务器方面,我就不详细说了,买服务器,买域名这些网上一堆,在这里就不花篇幅讲了。
参考这篇博文的人需要有点linux基础,不适合小白。或者说,我是为了记录遇到的问题才决定写这篇博文的。
这里就不说了,买就完事了。
二、搭建 LNMP 环境
2.1 安装mysql( 教程 )
先安装上,后面会用到。
2.2 安装nginx
sudo apt-get update sudo apt-get install nginx
然后就访问 http://你的服务器域名或ip地址
出现下图代表安装成功
如果没有成功,出现以下错误。
说什么 /etc/nginx/nginx.conf 找不到的,应该是环境乱了,我们需要重新安装nginx。
可以执行以下代码
# nginx是依赖nginx-core的,nginx-core又是依赖nginx-common的
# 所以全都卸载光光,重点是要加上 --purge 这个参数代表 连同删除配置文件
sudo apt-get --purge remove nginx-common sudo apt-get --purge remove nginx* # 清除依赖包 sudo apt-get autoremove # 重新安装 sudo apt install nginx
相信不出意外的话此时安装的nginx是成功的了
2.3 安装php7.0
apt-get -y install php7.0-fpm php-mysql
PHP fix_pathinfo 潜在安全漏洞修复,在/etc/php/7.0/fpm/php.ini中找到
;cgi.fix_pathinfo=1
把1改成0
cgi.fix_pathinfo=0
重启
systemctl restart php7.0-fpm
2.4 配置mysql
其实也不算配置,就是要建一个数据库,因为后面的wordpress要用到,我在这里就顺着顺序写了,不用
等到后面
2.4.1登录 MySQL 服务器
使用 root 用户登录到 MySQL 服务器。
mysql -uroot -p
2.4.2 为 WordPress 创建数据库并设置用户名和密码(本教程设置如下,您可自行定义)。
为 WordPress 创建 MySQL 数据库 “wordpress”。
CREATE DATABASE wordpress;
为已创建好的 MySQL 数据库创建一个新用户 “user@localhost”。
CREATE USER user@localhost;
并为此用户设置密码“wordpresspassword”。
SET PASSWORD FOR user@localhost=PASSWORD("wordpresspassword");
2.4.3 为创建的用户开通数据库 “wordpress” 的完全访问权限。
GRANT ALL PRIVILEGES ON wordpress.* TO user@localhost IDENTIFIED BY'wordpresspassword';
2.4.4 使用以下命令使所有配置生效。
FLUSH PRIVILEGES;
2.4.5 配置完成,退出 MySQL。
exit;
2.5 配置nginx
打开一个默认文件,将里面内容清空,换上下文。
sudo vim /etc/nginx/sites-available/default
所要替换的内容:
server { listen 80; root /usr/share/nginx/html; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { index index.php index.html index.htm; } #error_page 404 /404.html; #redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } #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; } }