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,mail
block(略过)
ngnix.conf
中从头开始讲:
user www-data
在你安装ngnix的时候已经建立了这个用户,不用管他worker_processes 1;
这里数值最大为4,表明开几个线程处理请求.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是否配置好了:
- 在你ngnix配置的root属性指向的目录下存放一个文件叫
index.php
- 在你nginx配置中 index配置下将
index.php
放在首位 - 在index.php中写入:
<?php
phpinfo();
?>
最后访问http://x.x.x.x 若有php配置信息跳出即成功
mysql
安装方法:sudo apt-get install mysql-server mysql-client
安装过程中会让你输入mysql的root用户的新密码,按照步骤执行即可
安装wordpress
1.从官网下载wordpress4.0wget 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/
安装过程中问题荟萃
测试php环境是否安装成功的时候,返回200状态码,但是页面是白板.
解决方法:
查看error.log(sudo vim /var/log/nginx/error.log
)你会发现有个文件夹permission denied
所以去把那个文件夹(/usr/local/nginx/fastcgi_temp
)给sudo chmod 777 fastcgi_temp
即可若出现访问页面返回一大堆js代码的情况:
在nginx.conf中删除除了以上说到的关于fastcgi和fpm的配置
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。