centos7+腾讯云服务器搭建wordpress

时间:2022-06-01 22:15:45

title: centos7+腾讯云服务器搭建wordpress

date: 2020-03-04

categories: web

tags: [wordpress]

分两部分:1.搭建LEMP环境 2.安装 wordpress

1.搭建LEMP环境

LEMP 是 PHP 网站应用的运行环境,如果打算在本地或者服务器上去运行一个用 PHP 语言写的网站应用,需要搭建 LEMP 环境。

L 表示 Linux .

这里我购买了腾讯云centos7.6. 学生有优惠^^

E 表示的是 Nginx ,E 取的是 Nginx 的读音(Engine X)。

它是一种 Web 服务器,可以为网站应用提供 Web 服务,也就是接待用户访问的服务,用户请求资源,Nginx 提受用户的请求,处理一下,再把用户需要的资源发送给用户。

M 表示 MySQL/MariaDB ,是网站应用使用的数据库管理系统。数据库管理系统里面创建很多的数据库,然后分配给网站应用去使用。MySQL 跟 MariaDB 可以相互兼容。

P,表示的是 PHP。它是解释 PHP 语言用的解析器,我们可以使用 PHP-FPM 跟 Web 服务相互沟通。

也就是如果也就是如果 Web 服务遇到对 PHP 资源的请求,会把请求交给 PHP-FPM ,它会去解释请求的 PHP,

再把结果交给 Web 服务,然后 Web 服务器(比如:NGINX)会把最后的结果返回给用户。

参考了一点:https://linux265.com/news/3482.html

网上一些搭建环境的教程用到apache也就是httpd,这里我用nginx。Nginx内部没有配置php所以需要一些操作。

下面的操作都是在服务器的命令行进行。

1.1. 安装 nginx

yum install -y nginx
然后
systemctl start nginx # 启动nginx
systemctl enable nginx.service # 设置为开机启动

1.2.安装 Mariadb

yum install mariadb mariadb-server
systemctl start mariadb ==> 启动mariadb systemctl enable mariadb ==> 开机自启动 mysql_secure_installation ==> 设置 root密码等相关

测试登录:

mysql -u root -p

1.3. 安装php

yum install php php-fpm php-bcmatch php-gd php-mbstring php-mcrypt php-mysql

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72
sudo yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql
php -v

1.4.配置php 与nginx

sudo yum install php-fpm
vim /etc/php-fpm.d/www.conf

这里修改了user,group,listen。如果原来有,注释掉就好。

;user = apache
;group = apache user = nginx
group = nginx ;listen = 127.0.0.1:9000
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx

然后启动服务。

sudo systemctl enable php-fpm

sudo systemctl start php-fpm

确保/var/lib/php目录具有正确的权限:

chown -R root:nginx /var/lib/php

保存文件,启用并启动PHP FPM服务:

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

vi /etc/nginx/nginx.conf 打开nginx主配置文件,按i进入编辑模式,修改其中的sever的location ~ .php部分为以下内容。(注释掉上面的location是可选的)

		# location /{
#} location ~ /.php$ {
try_files $uri =404;
root /var/www/wordpress;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
}

重启nginx服务

sudo systemctl restart nginx

测试php-fpm是否安装成功.

vi /usr/share/nginx/html/index.php

<?php
echo "<title>Test Page</title>";
echo "Hello World!";
?>

然后访问 ip/index.php. ip是你服务器的IP

我这里报错

centos7+腾讯云服务器搭建wordpress

注意:这里可能是上面

sudo systemctl enable php-fpm

sudo systemctl start php-fpm

没有输入的问题。

也可能是另一个问题参考:https://blog.csdn.net/levena/article/details/52712666

使用这个方法遇到问题时建议使用

ps -ef | grep nginx

kill -QUIT 主进程号

退出nginx,和相关进程,然后重新启动nginx和 php-fpm

然后再登录ip/index.php。显示helloword。说明php,nginx配置成功。

2.安装 wordpress

2.1. 创建wordpress数据库

给wordpress创建数据库,然后重启服务

mysql -u root -p     # 用上面设置的密码登陆mysql
mysql>create database wordpress; # 创建wordpress数据库 CREATE USER wordpressuser@localhost IDENTIFIED BY 'XXXX(password)' #创建一个用户 GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost #权限
FLUSH PRIVILEGES //更改用户权限
exit //保存并退出 systemctl restart mariadb.service #重启相关服务

2.2. 下载安装wordpress

Cd ~
wget http://wordpress.org/latest.tar.gz

注意过程中任何wget的下载,可能会很慢,解决办法是先下载好然后 rz 命令传到服务器。

比如 https://cn.wordpress.org/latest-zh_CN.tar.gz

官网经常429错误,可以去网上找一找安装包。

Zip可以转换成tar.gz。

Rz传用 xshell。

# 解压wordpress
tar zxvflatest.tar.gz cd wordpress/ # 进入到wordpress目录
cp wp-config-sample.php wp-config.php # 复制wp-config-sample.php并重命名为wp-config.php
vim wp-config.php # 打开该文件

找到mysql设置的配置部分,按i进入编辑模式,将配置的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', '');

然后参考https://www.linuxprobe.com/install-wordpress-nginx.html。

复制文件到一个方便的文件夹下。

#创建我们将保留wordpress文件的目录:
sudo mkdir -p /var/www/wordpress #将解压缩的WordPress文件传输到网站的根目录。
#sudo cp -r ~/wordpress/* /var/www/wordpress #修改权限/var/www ,使未来的自动的WordPress插件和文件与SFTP编辑的更新。
#如果不执行这些步骤,您可能会在尝试任一任务时收到“要执行请求的操作,需要连接信息”错误消息。
#首先,切换到web目录:
cd /var/www/ #将目录的所有权授予nginx用户,将“用户名”替换为服务器用户的名称。
sudo chown nginx:nginx * -R
sudo usermod -a -G nginx username

2.3修改nginx配置

先修改nginx

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/wordpress;
include /etc/nginx/default.d/*.conf; location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php index.php;
}
location ~ \.php$ {
try_files $uri =404;
root /var/www/wordpress;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
}
sudo systemctl restart nginx #重启

然后浏览器打开

http://ip/wp-admin/install.php

就显示下面的图,可以进行设置了。(下图来源于网络)

centos7+腾讯云服务器搭建wordpress

步骤 2.3 遇到的问题是403forbidden ,解决是 mginx 的配置文件添加了position的内容(上面的代码是修改好的)。

解决403参考了https://blog.csdn.net/dreamstone_xiaoqw/article/details/78078441 。