騰訊雲學生服務器配置
03 Mysql與Nginx配置
目錄
2.安裝與配置nginx圖片服務器(通過nginx的反向代理)
1.Mysql安裝與配置外網訪問
(1)安裝mysql
首先輸入
sudo su
獲取root權限
然後再輸入
sudo apt-get install mysql-server mysql-client
安裝mysql。
(2)安裝時可能出現的問題
安裝時候需要輸入密碼,密碼是root用戶的密碼,同時需要二次確認(按鍵盤的上下鍵來移動光標),如圖1、2
再次確認你的密碼:
tips:你可能需要更新系統,如果不運行該命令,直接安裝mysql,可能會出現“有幾個軟件包無法下載”
sudo apt-get update
驗證安裝是否成功,輸入
sudo service mysql restart
(2)配置外網訪問
輸入如下:
進入mysql
輸入use mysql;回車,如圖4
如果你想將數據庫設爲所有主機能夠訪問,
輸入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'you_password' WITH GRANT OPTION;
flush privileges;
如果是有限制主機訪問的
輸入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'you_ip' IDENTIFIED BY 'you_password' WITH GRANT OPTION;
flush privileges;
輸入
quit
嘗試用Navicat遠程連接服務器中的數據庫,但是完成以上操作還是無法連接。
出現"ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)"的報錯,則進行下面的操作
(3)修改配置文件
輸入
vi /etc/mysql/my.cnf
用vim打開並修改my.cnf配置文件
修改其中的bind-address爲0.0.0.0即可
注:我的服務器(系統 ubuntu16)安裝mysql時,mysql的配置文件/etc/mysql/my.cnf 裏面基本沒有什麼東西
遇到這種情況,則輸入
vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到mysqld.cnf文件,發現這裏面有需要修改的 bind-address 變量
按 a 進行編輯,將原先的127.0.0.1改爲0.0.0.0
編輯完成後輸入 :q 保存退出,然後重啓你的mysql服務
sudo service mysql restart;
到這裏,你的Navicat可能還是不可以遠程連接到mysql,我查了很多資料,最後發現是雲服務器的安全組沒開
(4)修改服務器安全組設置
另外,還需要登錄你的服務器雲主機控制檯,設置安全組的相關參數,詳細具體請參照騰訊雲關於安全組的官方操作指南,我這裏爲了圖方便,直接允許放開了所有端口(爲了安全起見最好不要如此),如圖5
然後打開Navicat,嘗試連接
妥妥的,終於搞定了
這樣就完成了開啓mysql外網訪問了。
2.安裝與配置nginx圖片服務器(通過nginx的反向代理)
我選的是比較偷懶的辦法:
(1)從PPA源安裝 Nginx
依次輸入:
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
一路安裝下去即可。
其他安裝方法請參考這裏
(2)配置nginx
找一找nginx安裝在了哪兒
whereis nginx
顯然我這裏的nginx被放在了/etc/nginx中
於是進入這個目錄,發現有個名叫nginx.conf的文件
這個就是nginx的配置文件,打開它並加以修改
vi nginx.conf
在末尾此處的 } 前(見圖9)
加上這麼一段:
server{
listen 你想設置的端口號;
server_name 你的ip地址;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ .*\.(gif|jpg|jpeg|png)$ {
expires 24h;
root 你的圖片存放路徑;#指定圖片存放路徑
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path 你的圖片存放地址;#代理臨時路徑
proxy_redirect off;
proxy_set_header Host 139.199.158.119;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if ( !-e $request_filename)
{
proxy_pass 你的代理訪問ip地址;#代理訪問地址
}
}
}
其中:
location ~ .*\.(gif|jpg|jpeg|png)$ 與root 你的圖片存放路徑
目的是將.jpg等圖片文件映射到你的圖片存放路徑上
ip地址設爲你自己的雲服務器的ip地址,端口號選擇不重複的,我選擇的是8088,代理ip地址即爲http://ip:8088
圖片存放路徑爲你服務器保存圖片的位置(我的位置爲/etc/nginx/ftpimg)
注:圖片文件夾可以通過mkdir新建一個,然後通過命令:chmod 777 圖片路徑 設置讀寫權限,然後通過Xftp上傳圖片到你的雲服務器(如圖10)
修改完.conf文件後保存並退出,然後
service nginx start
若之前你嘗試過開啓nginx,則先
service nginx reload
再start即可
啓動nginx的方法有很多種,再推薦一種:(路徑爲默認安裝路徑,視情況而定)
/etc/init.d/nginx start
再嘮叨一句,如果你騰訊雲沒有開啓所有端口,還需要打開安全組設置開啓你之前所設置的端口 號
至此,nginx圖片服務器配置完成
上圖看成果(大佬在哪帶帶我!):
搞了個定,一看錶快三點了,修不動仙了,溜了溜了
至此環境已經配的差不多了,以後要有用的再搞一搞
明天寫寫之前寫的java爬蟲一類的心得和學習進度(Jsoup和Selenium)
在思考啥時候換個本子,這辣雞電腦(趴)