先來一段吐槽...好朋友校招進百度前端團隊了..我還在找工做ing..好心塞.可是蠻爲他高興的.php
是個人問題.技術面鋪的太開了,沒有深刻的一項.比較深刻的也就是web滲透,python了吧.可是滲透團隊要求好高!網易跪在了HR面..綠盟進行中(工資略低啊)html
技能點大概是(10星滿分):python(7星),linux(6星),web滲透(6星),html+js(4星),網絡安全(7星),學習能力(10星,哇咔咔),
從此就三個方向:滲透,python,linux不變了!吃夠了不專一的苦了!前端
這篇文章主要爲了記錄一些配置過程當中的問題,可是我不喜歡寫半拉子東西,因此就完整記錄下吧,我會分好幾個時間段來寫的...node
窮人終於有了一個雲主機(和別人合買的!哭)
那麼昨晚就開開心心的把環境配了配.
環境:
ubuntu 12.04python
首先你得ssh到雲主機上面
假設你的雲主機獨立IP爲x.x.x.x
mysql
nginx 是另一個哥們手動編譯過來的,我這裏就不介紹怎麼編譯了..linux
安裝命令:sudo apt-get install nginx
nginx
啓動:sudo nginx
可選參數-c
.指定配置文件的路徑..用默認的就ok啦..web
中止:sudo nginx -s stop
sql
每次改變配置文件以後要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
便可
安裝過程: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
index.php
index.php
放在首位<?php phpinfo(); ?>
最後訪問http://x.x.x.x 如有php配置信息跳出即成功
安裝方法:sudo apt-get install mysql-server mysql-client
安裝過程當中會讓你輸入mysql的root用戶的新密碼,按照步驟執行便可
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便可進入安裝頁面,按照步驟操做便可
阿里雲主機是有獨立IP的,假設爲x.x.x.x
若是你有個域名,可是不是在阿里雲或者萬網作的備案,那麼就麻煩了(我就是這樣子!)
你須要按照阿里雲的轉入備案流程將你的備案轉入過來,不然你的域名指向該IP的時候阿里雲會檢測到而後不讓你訪問,以下圖:
因此你得先去作轉入備案...具體流程請看:http://beian.aliyun.com/not-at-aliyun.html?spm=5176.200001.5.3.qB7fXw
作完備案轉入以後按照常規的,將域名使用A解析指向你的IP地址便可
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的配置