ECS+nginx+wordpress一手搭建完毕

PS:

先来一段吐槽...好朋友校招进百度前端团队了..我还在找工做ing..好心塞.可是蛮为他高兴的.php

是个人问题.技术面铺的太开了,没有深刻的一项.比较深刻的也就是web渗透,python了吧.可是渗透团队要求好高!网易跪在了HR面..绿盟进行中(工资略低啊)html

技能点大概是(10星满分):python(7星),linux(6星),web渗透(6星),html+js(4星),网络安全(7星),学习能力(10星,哇咔咔),
从此就三个方向:渗透,python,linux不变了!吃够了不专一的苦了!前端

可是事情还得作!明天更美好!


这篇文章主要为了记录一些配置过程当中的问题,可是我不喜欢写半拉子东西,因此就完整记录下吧,我会分好几个时间段来写的...node

#正文#

穷人终于有了一个云主机(和别人合买的!哭)
那么昨晚就开开心心的把环境配了配.
环境:
ubuntu 12.04python

step 1:安装和配置必要软件

首先你得ssh到云主机上面
假设你的云主机独立IP为x.x.x.xmysql

nginx

nginx 是另一个哥们手动编译过来的,我这里就不介绍怎么编译了..linux

安装命令:sudo apt-get install nginxnginx

启动:sudo nginx
可选参数-c.指定配置文件的路径..用默认的就ok啦..web

中止:sudo nginx -s stopsql

每次改变配置文件以后要reload才能生效:sudo nginx -s reload

配置文件解析:
nginx有个默认配置文件:
默认的是:/etc/nginx/ngnix.conf/etc/nginx/site-available/default.


打开配置文件:
sudo vim /etc/nginx/ngnix.conf
sudo vim /etc/nginx/site-available/default


其中 ngnix.conf是总配置文件,里面有http block,events block,mailblock(略过)

ngnix.conf中从头开始讲:

  1. user www-data在你安装ngnix的时候已经创建了这个用户,不用管他

  2. worker_processes 1; 这里数值最大为4,代表开几个线程处理请求.

  3. http {}主要配置一些公用属性:日志存放地点,配置文件包含,服务器是否接受gzip.保持链接时间,接受文件类型等等..可是刚刚搭建的话就采用默认就行了,具体以下:

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;
    types_hash_max_size 2048;
    proxy_ignore_client_abort on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
    gzip_disable  "msie6";



    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    server {}
    }

4.和http并行的有一个events{}block,里面一边配置的只有一条属性:

events {
    worker_connections  1024;
}

就是最大链接数

5.最后会发现有这么几行配置:

include /etc/nginx/conf.d/*.conf;
 include /etc/nginx/sites-enabled/*;

代表include了其余的配置文件,若是按照路径去查找,最终会发现只include进来一个/etc/nginx/site-available/default文件


default里面的内容,其余什么都不要管,关键是这几个block:
1. sever{} 这个至关于apache的虚拟目录...你能够配置多个server.让他监听不一样的端口,或者分发不一样的域名.
2. location{} 这个是作路径路由的..就是匹配你request里面的路径的.(他是嵌套在server里面的)


先从server{}讲起.里面的关键语句有:
listen port: port通常默认都是80由于是http嘛
root path:path是你的网站根目录,至关于apachce的www-root
server_name your_domain_name:后面是你的域名,默认是localhost用来本机测试.能够用这边作站点分发哦..


而后是 location{}
他是server里面的子嵌套..一个server里面能够有多个来匹配不一样的路径..

1.首先必须配的是 location /{}
这个用来匹配全部请求的,每一个请求都会进入这个location来,而后nginx来去看路径是否有这个文件..如有的话,静态文件直接返回,动态脚本交给下面的location处理.
格式化配置内容以下:

location / {
                try_files $uri $uri/ =404;
                autoindex on;
                index index.php index.html index.htm;
        }

index是为了找出默认首页..顺序匹配

2.若是是php动态脚本的话..须要以下location

location ~ \.php$ {
    #            fastcgi_pass unix:/var/run/php5-fpm.sock;
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

3.若是是python脚本的话,以下:

location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:50000;
        }

这里很容易出问题的..用unix sock的话我是没试过..

检测nginx是否正常工做:
在浏览器中输入:http://x.x.x.x/跳出welcome to use nginx便可


php相关组件

安装过程:
sudo apt-get install php5 php5-cgi php5-fpm php5-mysql

php5-fpm的配置文件无需修改,有兴趣的能够去/etc/php5/fpm/php-fpm.conf/etc/php5/fpm/php.ini查看

检测php5-fpm服务是否开启:
sudo netstat -tunpl | grep 9000

开启关闭重启php5-fpm方法:
sudo service php5-fpm start
sudo service php5-fpm stop
sudo service php5-fpm restart


如今能够检测下php和nginx是否配置好了:

  1. 在你ngnix配置的root属性指向的目录下存放一个文件叫index.php
  2. 在你nginx配置中 index配置下将index.php放在首位
  3. 在index.php中写入:
<?php
phpinfo();
?>

最后访问http://x.x.x.x 如有php配置信息跳出即成功


mysql

安装方法:
sudo apt-get install mysql-server mysql-client

安装过程当中会让你输入mysql的root用户的新密码,按照步骤执行便可


安装wordpress

1.从官网下载wordpress4.0
wget https://cn.wordpress.org/wordpress-4.0-zh_CN.zip

2.解压缩:
unzip wordpress-4.0-zh_CN.zip

3.将解压的文件放到你的web目录下(可能须要修改配置文件将root指向wordpress文件夹)

4.修改源码(由于wordpress使用了google字体,而google字体在线加载特别缓慢,影响速度)
找到wordpress/wp-includes/script-loader.php
打开该文件,查找fonts.google.com而后将这个连接改成fonts.useso.com便可

5.在浏览器中输入http:/x.x.x.x便可进入安装页面,按照步骤操做便可

step 2:域名绑定

阿里云主机是有独立IP的,假设为x.x.x.x
若是你有个域名,可是不是在阿里云或者万网作的备案,那么就麻烦了(我就是这样子!)
你须要按照阿里云的转入备案流程将你的备案转入过来,不然你的域名指向该IP的时候阿里云会检测到而后不让你访问,以下图:
图片描述

因此你得先去作转入备案...具体流程请看:http://beian.aliyun.com/not-at-aliyun.html?spm=5176.200001.5.3.qB7fXw

作完备案转入以后按照常规的,将域名使用A解析指向你的IP地址便可

step3:wordpress主题插件更新

wordpress更新插件有两种方式:
1. 在线更新:是要用FTP上传的,因此你须要搭建一个FTP服务器在你的云主机上,具体教程请查看:
http://blog.csdn.net/njchenyi/article/details/8499555
2. 离线形式,你先将插件包或者主题包下载下来,而后手动传到指定目录便可.
主题目录为:wordpress/wp-content/themes/
插件目录为:wordpress/wp-content/plugins/

安装过程当中问题荟萃

  1. 测试php环境是否安装成功的时候,返回200状态码,可是页面是白板.
    解决方法:
    查看error.log(sudo vim /var/log/nginx/error.log)你会发现有个文件夹permission denied
    因此去把那个文件夹(/usr/local/nginx/fastcgi_temp)给sudo chmod 777 fastcgi_temp便可

  2. 若出现访问页面返回一大堆js代码的状况: 在nginx.conf中删除除了以上说到的关于fastcgi和fpm的配置

相关文章
相关标签/搜索