centos7+腾讯云服务器搭建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

我这里报错

1.png

注意:这里可能是上面
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

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

2.png

步骤 2.3 遇到的问题是403forbidden ,解决是 mginx 的配置文件添加了position的内容(上面的代码是修改好的)。
解决403参考了https://blog.csdn.net/dreamstone_xiaoqw/article/details/78078441 。

posted @ 2020-08-11 21:15  Erio  阅读(494)  评论(0编辑  收藏  举报