zoukankan      html  css  js  c++  java
  • centos7+腾讯云服务器搭建wordpress


    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

    我这里报错

    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 。

  • 相关阅读:
    SQL Server 锁升级(Lock Escalations)
    Linux 输入与输出重定向详解
    MySQL DDL的成本高低
    spring 学习-bean创建-refresh方法
    spring 学习-bean创建-scan扫描bean
    spring 学习-bean创建-重要类介绍
    zkclient大量节点事件导致CPU飙升
    spring 学习-bean创建-重要类介绍
    ElasticSearch 按值排序
    Redis set 详解
  • 原文地址:https://www.cnblogs.com/lqerio/p/13485206.html
Copyright © 2011-2022 走看看