wordpress 外网访问(wordpress登录入口)

   百度SEO    

Amazon linux介绍

Amazon linux是亚马逊公司针对自己的EC2虚拟机推出的一个Linux版本,可以免费使用。它和Red Hat Enterprise版本是高度兼容的,这意味着和CentOS的大部分命令以及运行逻辑都是匹配的,由于它是新推出的Linux版本,所以主要命令和结构需要CentOS 7以上的经验,6以下的版本需要重新学习一下。


安装LNMP

首先Amazon Linux的镜像是开箱即用的,不需要太多配置,唯一的需要处理就是在安全组里面打开一个22端口,用于远程控制。这里有一个小tips,如果安全要求不是企业级的,linux中就不要再配置防火墙了,直接在aws控制台的安全组添加一条数据即可,方便直观,上图:

对于80和443可以开放全部ip,但是ssh还是只开放小范围为好,取得自己的外部ip地址后,使用24或者20掩码均可。接下来就可以远程登录操作了。

首先我们用的是Nginx web服务器,所以使用下面的命令安装:

yum install nginx

装好后启动,发现不行,看日志是80端口被占用了,原来amazon linux已经预装了apache,使用netstat命令可以轻易查出当前所有服务占用的端口是哪些,这里推荐一个参数组合:

netstat -lntp

所以需要删除掉:

yum erase httpd

再次启动nginx和加入服务列表,成功:

systemctl start nginx

systemctl enable nginx

在生产环境中如果要重启nginx, 建议先用nginx –t命令来检查配置后再执行。


下面我们开始装mysql,需要注意的是,众所周知,mysql是Oracle的产品,为了免费使用,现在使用的是它的另外一个分支MariaDB:

yum install mariadb-server mariadb

systemctl start mariadb

安装完mysql后,需要进行安全配置:

mysql_secure_installation

最好不要用root账户直接运行wordpress,于是,建立一个普通用户吧,原则上,root用户不要用于远程连接:

CREATE DATABASE wordpress;

CREATE USER wordpressuser IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser;

FLUSH PRIVILEGES;

前方坑来了,如果你现在搭建好wordpress开始运行,页面会提示当前版本是php5.4,需要升级到5.6,切记莫要升级,因为amazon linux默认提供的版本是5.4,而它的仓库里并没有5.6,如果使用其他仓库,就会有一个后缀php56,路径也要重新配置,关键是依赖不兼容,很多依然指向5.4版本,会导致后续操作非常麻烦。所以,使用amazon linux的原则就是能用它自带的仓库,就用它自有的,后面会顺畅很多。解决方案就是升级到自有仓库的7.2版本以上:

yum install amazon-linux-extras

amazon-linux-extras enable php7.2

yum erase php*

yum clean metadata

yum install php-cli php-pdo php-fpm php-json php-mysqlnd

好了,一切完美,php命令的路径也是对的,php –v命令显示7.2版本。


接下来需要做一些权限的配置,否则php-fpm启动后无法访问站点的php文件,比较推荐的方式是wordpress所在目录owner,nginx和php-fpm服务都使用“nginx”作为用户,这样整个生态的权限是统一的,最后别忘了重启大法,每次修改配置一定reload一下服务:

vim /etc/php-fpm.d/www.conf

chown -R nginx:nginx /you/install/location/*

service nginx reload

service php-fpm restart


安装wordpress

最艰难的权限部分通过后,接下来的旅途会轻松很多,下载和安装wordpress:

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

tar xzvf latest.tar.gz

mkdir wp-content/uploads

cp wp-config-sample.php wp-config.php

修改wp-config.php里的配置,把你的mysql数据库连接信息替换上去。


设置wordpress

接下来我们将wordpress正确的配置到nginx中,参考下面的配置:

server {

listen 443 ssl;

server_name www.yourdomain.com yourdomain.com;


ssl_certificate /ssl/www.yourdomain.com.crt;

ssl_certificate_key /ssl/www.yourdomain.com.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;

}

上面配置好ssl,https在目前已经是标配了,ios中如果不是https,会出现警告,甚至打不开,所以要建立网站最好申请一个ssl证书,详细申请方式,我这里就不说了。


接下来是php-fpm的关键配置,每条都很重要,缺一不可:

location ~ \.php$ {

root /your/install/location/wordpress;

include /etc/nginx/fastcgi_params;

fastcgi_pass php-fpm;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

注意第三条fastcgi_pass,有多种写法,上面是php7.2默认写法。


最后一步,你需要把80端口的流量转到https上面去:

server {

listen 80;

server_name www.yourdomain.com yourdomain.com;

rewrite ^(.*)$ https://www.yourdomain.com$1 permanent;

}

此处要补充两点,一是域名指向不仅www,而且默认yourdomain.com也指向同一个ip,第二是后面在wordpress设置中,把主页和管理页设置为https链接:



现在应该可以通过域名打开你的wordpress了:

设置好标题和管理员,就可以启动了,根据个人喜好,设置自己的主题。


跟踪wordpress的流量和站点管理

我们的博客需要搜索引擎优化,以及流量监控,使用google全家桶中的search console和analytics,两个工具的配置较简单。

Search console需要验证你的站点拥有权,可以放一个它指定的文件到网站根目录,完成验证,过几天它的爬虫就会分析出站点与搜索引擎的数据,提供优化建议等。

而analytics则是把脚本拷进站点的源代码中,推荐做法是安装wordpress的插件Insert Headers and Footers,将GA(google analytics)提供的脚本放到页脚,这样不会影响页面加载:

<!-- Global site tag (gtag.js) - Google Analytics -->

<script async src="https://www.googletagmanager.com/gtag/js?id=G-YOURGAID"></script>

<script>

window.dataLayer = window.dataLayer || [];

function gtag(){dataLayer.push(arguments);}

gtag('js', new Date());


gtag('config', 'G-YOURGAID');

</script>


小贴士,安装过程中难免会有调试,这时日志文件极为重要,把nginx和php的日志文件都指向到同一个文件夹,避免到处找。

彩蛋:发现没有?你的网站头像上传不了,原因是图像处理模块没有安装,做如下处理:

yum install php-gd


Wordpress的安装大致就这样一个过程,文章并不是严格按照安装顺来写的,如果大家在安装中遇到障碍,欢迎在下方留言讨论。

原创版权,如引用需要注明来源和链接。

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。