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 。

  • 相关阅读:
    linux查看CPU和内存信息
    linux yum命令详解
    查看文件中关键字前后几行的内容
    vue.js+web storm安装及第一个vue.js
    android GPS: code should explicitly check to see if permission is available
    ASP.NET MVC Identity 使用自己的SQL Server数据库
    阿里云服务器,tomcat启动,一直卡在At least one JAR was scanned for TLDs yet contained no TLDs就不动了
    ASP.NET MVC4 MVC 当前上下文中不存在名称“Scripts”
    python 将windows字体中的汉字生成图片的方法
    Java android DES+Base64加密解密
  • 原文地址:https://www.cnblogs.com/lqerio/p/13485206.html
Copyright © 2011-2022 走看看