1

PS:

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

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

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

但是事情还得做!明天更美好!


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

#正文#

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

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

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

nginx

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

安装命令:sudo apt-get install nginx

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

停止:sudo nginx -s stop

每次改变配置文件之后要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的配置


LoftySoul
699 声望11 粉丝

A dream,lots of accumulation