【发布时间】:2017-09-13 05:49:32
【问题描述】:
我正在开发一个 Wordpress 网站。它运行良好,但是当我进入 Wordpress 页面时,它将被重定向到一个新域,其中包含 ec2 实例地址。我不知道为什么会这样?我也在设置/常规中设置了正确的域名。 该网站建立在 AWS 的 EC2 实例之上。
感谢并期待收到你们关于这个问题的反馈。
【问题讨论】:
标签: php wordpress amazon-ec2
我正在开发一个 Wordpress 网站。它运行良好,但是当我进入 Wordpress 页面时,它将被重定向到一个新域,其中包含 ec2 实例地址。我不知道为什么会这样?我也在设置/常规中设置了正确的域名。 该网站建立在 AWS 的 EC2 实例之上。
感谢并期待收到你们关于这个问题的反馈。
【问题讨论】:
标签: php wordpress amazon-ec2
如果设置正确,您应该验证几件事:
您可以参考链接来验证以上几点: http://www.inmotionhosting.com/support/website/wordpress/wordpress-changing-the-site-url-and-home-settings
【讨论】:
某些数据库表具有该亚马逊的域名。可能有两种情况 - 没有有价值帖子的全新安装和有帖子的现有安装。
全新安装,没有有价值的帖子
对于全新安装,如果您有 wp-config 示例文件,则在删除 wp-config.php 后使用新数据库并运行 WordPress 安装程序是最简单的方法。如果wp-config 示例文件被删除然后删除整个 FTP 根目录和新鲜的 wget 下载 WordPress,解压,然后安装是实用的。
带有帖子的现有安装
如果该安装存在帖子,您必须像更改域名一样对待。它有 WordPress 插件,但 SSH 或 PHPMyAdmin 是可靠的。
您需要从 PHPMyAdmin 或 SSH 运行一些 MySQL 查询来更新域名,例如更改域名或从 HTTP 升级到 HTTPS。在运行命令之前先备份该数据库:
UPDATE wp_options SET option_value = "http://www.new-domain.com" WHERE option_name = "siteurl";
UPDATE wp_posts SET guid = replace(guid, 'http://amazon-domain.com','http://new-domain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://amazon-domain.com', 'http://new-domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://amazon-domain.com','http://new-domain.com');
关于升级到 HTTPS 的长答案遍布全球。像这样——https://isabelcastillo.com/mysql-wordpress-http-to-https
也将此添加到wp-config.php 文件中:
define( 'WP_SITEURL', 'http://your-site.com' );
define( 'WP_HOME', 'http://your-site.com' );
出于学习目的,如果您打开该数据库 SQL 之类的文本文件,请在文本编辑器上用肉眼搜索该亚马逊的域名。
【讨论】:
创建AWS账号并创建ec2实例,如下:
-> select Linux AMI
->t2.micro
->security groups must be http,secure group and custom tcp (3306 for mysql)
->key generate(.pem file)
-> launch instances
在 windows 上使用 puttygen 从 pem 创建 .ppk 文件
使用 putty 登录到您的实例
host - ec2-user@xxxxxxxxxxxxx
user - ec2-user
ssh(auth)-ppk file
connection ---> Success
登录成功后执行这些命令
>[ec2-user ~]$ sudo yum update -y
>sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd
>sudo service httpd start
>sudo chkconfig httpd on
>chkconfig --list httpd
>ls -l /var/www
> sudo usermod -a -G apache ec2-user
>sudo chown -R ec2-user:apache /var/www
>echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
>http://my.public.dns.amazonaws.com/phpinfo.php
>sudo yum list installed httpd24 php70 mysql56-server php70-mysqlnd
>rm /var/www/html/phpinfo.php
>sudo service mysqld start
>sudo mysql_secure_installation
>sudo service mysqld stop
>sudo chkconfig mysqld on
>sudo yum install php70-mbstring.x86_64 php70-zip.x86_64 -y
>cd /var/www/html
>wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
>tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
>http://my.public.dns.amazonaws.com/phpMyAdmin
>chkconfig --list httpd
>sudo yum remove -y httpd24 php70 mysql56-server php70-mysqlnd perl-DBD-MySQL56
>sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd
>sudo yum remove -y httpd24 php56 mysql55-server php56-mysqlnd perl-DBD-MySQL55
>from localhost go to settings->site settings -> change site and home url
>export db(sql.zip)
>login to phpmyadmin
>import sql.zip here
>from your project folder upload your code to git or bitbucket
>now move to var/www/html
>sudo git pull origin master
> edit wp-config.php with your favorite text editor
(sudo nano wp-config.php)
>set values for db,db_name,db_host,db_user
(db host should be ip for your instance)
--Site is Live on host ip--
【讨论】: