Python基本觀念與變數

圖片
本章參考: 王者歸來 做的筆記 一、Python認識  1.Python是一種Interpreted language、Object Oriented Language的程式語言,並擁有完整的函數庫。 2.Python算是一種動態高階語言,具有Garbage collection機制。 3.Python是一個Open Source,並且本身有許多package或module。 二、靜態語言與動態語言 1.variable是一個語言核心,由變數的設定可以知道這個程式所要完成的工作;variable分成static language與dynamic language 2.有些程式語言的variable在使用前需要宣告他的資料型態,這樣compile可在記憶體內預留空間給variable。同時,這個變數的資料型態經過宣告後,未來無法再改變他的資料型態,這類的程式語言稱static language 3.variable在使用前不必宣告他的資料型態,其特色不用經過compile過程,而是使用interpreter直接interpret與execute,這類的程式語言稱dynamic language(scripting language、glue code) 4.實際案例,利用Python列出變數的位址,相同的內容的變數會有相同的位址。 5.刪除變數,雖然python變數宣告很方便,但有時候宣告過多,執行起來會有點小卡,因此可以刪除變數                                                      del 變數名稱

CentOS 7快速架站心得與過程

身為一個隨意的部落客,對於發表文章也很懶惰,本身架網站喜歡拿現成的(本人美術很差)
拿現成的比如說:wordpress、blogger、ghost、wix.......
雖然網頁得美觀,自己可以來慢慢寫,本人是超級懶惰,要我從頭自己剋根本要我的命
所以,我個人網站習慣用google blogger直接套模板,若是有需求,blogger後台本身也有提供程式碼提供編輯,自己再去爬文找程式

最近在跟朋友討論架站事宜,雖然推薦使用wordpress,直接利用wordpress直接架,但是,有很多限制,所以,考慮開平台架站。


跟朋友討論的結果,直接使用 Google Cloud Platform 雲端主機免費版架設 WordPress (方便、快速)


使用 Google Cloud Platform 雲端主機免費版架設 WordPress 教學


基本上,一切在Google Cloud Platform上做設定,一切都沒問題,而且現在還提供一整年 12 個月的 $300 美元額度,更不用擔心使用超量而被收費。


雖然用Google Cloud Platform架超快,但是,因為最近在學linux,個人也打算自己開一個虛擬機器架架看,使用wordpress架站,目前架好的結果


我個人也爬了許多文章,參考許多資料,分享一下我在架站的心路歷程
一開始,我找到一個網站,以這網站的教學作為模板的範例
[CentOS 7] 自己的部落格自己架,讓 Wordpress 幫你架好架滿
這網站教的非常詳細,但是,在架的過程中,我遇到了一些問題

  • 語法有更新過,優些不適用(主要問題)
  • wordpress手動設定失敗許多次

其實還有很多,但是我忘記了~~~~~~~~~

再架站之前,麻煩請先設定好你的LAMP或是LEMP

[CentOS 7] 整合 Apache、MySQL、PHP 7 組成 LAMP Server
[CentOS 7] 整合 Nginx、MariaDB、PHP 7 組成 LEMP Server

LEMP的設定依照他的教學一步一步做應該是沒有問題(因為我是用LAMP~~~~~)

第一步,安裝套件
※在安裝之前可能遇到的問題~~~網路
設定網路時,網路的設定檔放在/etc/sysconfig/network-scripts/ ,而Centos會根據不同的網卡有不停名稱,如果你的是ens33請鍵入vi /etc/sysconfig/network-scripts/ifcfg-ens33
看一下檔案內容
此時,你會看到有很多的參數,其中有一個參數ONBOOT=no,請將no改成yes,這樣下次開機就會自動進入網路,請現在鍵入reboot重新開機

安裝wget(好像在CentOS6.7時宜除了~~)

yum install wget

>>>>>>>wget是用來取得網頁或檔案的指令

※備註:
若你是重新安裝CentOS 7的人,建議安裝
yum install net-tools

可以用習慣的ifconfig來查詢ip(若你習慣ip addr 其實就不太需要裝)

zip解壓縮指令
 yum install zip unzip -y

EPEL安裝
yum install epel-release 


安裝完時,記得更新
yum update

Apache 的安裝
yum install httpd httpd-tools
安裝php
yum install php –y
安裝MySQL

 yum install mysql-community-server

Webtatic 套件庫
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

基本上,安裝到這裡是可以準備開始設定,但是,若你還是不放心,或是在設定過程中缺少何種套件,我將他列在下面

加入 MySQL 套件庫。
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

EPEL 套件庫。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安裝Mysql 5.7
yum -y install httpd mysql-server php70w php70w-mysql

第二步:基礎設定
剛安裝完,先將所有功能啟用
systemctl start httpd.service
(開機一定會啟用)
systemctl enable httpd.service

Apache
允許防火牆讓 HTTP、HTTPS 封包通過。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

啟動 httpd,並讓它在開機後自動啟動。
systemctl start httpd
systemctl enable httpd

啟動 MySQL Server,並讓它在開機後自動啟動。
systemctl start mysqld
systemctl enable mysqld 
※如果在登入 MySQL 的時候,出現下列的錯誤訊息。(若沒問題,請跳安全設定)<我是沒有問題啦~~~~這邊是直接節錄他人解決方案>
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Error: Access denied for user 'root'@'localhost' (using password: NO)

請依照下列的步驟處理。

停止 MySQL 服務。
systemctl stop mysqld

加入自訂環境變數,暫時不檢查權限。
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

啟動 MySQL 服務。
 systemctl start mysqld
免密碼直接登入 MySQL。
mysql -u root

更新 root 的新密碼,這邊是用 P@ssw0rd,別忘了修改成自訂密碼。
UPDATE mysql.user SET authentication_string = PASSWORD('P@ssw0rd') WHERE User = 'root' AND Host = 'localhost';

重新載入權限。
flush privileges;

退出 MySQL。 
quit
如果都沒問題,情直接做安全性設定
安全性設定值依需求做調整。
mysql_secure_installation 

一開始先鍵入enter已進入設定
接著設定root的密碼
要不移除匿名帳號按Y
不允許root遠端登入按Y
是否移除test資料庫按Y
是否重新載入設定按Y
你可以看到裡面有些安全設定,以後你可以用這個指令來設定一些安全設定

完成之後,試著連線到Mysql Server,用 root 帳號的新密碼登入測試一下。
mysql -u root -p 
基本上到這裡是都設定好了(可以省略,因為我沒裝)
※預防萬一為了讓 PHP 可以連接,額外安裝 PHP 的模組。
 yum -y install php70-php-mysqlnd

PHP
為 Apache 加入 PHP 的支援,步驟實在超簡單,就是「什麼都不用做」,只要在裝好 PHP 之後,重新啟動 Apache 就可以了。
systemctl restart httpd

接著,建立一個 PHP 測試檔。
vi /var/www/html/info.php
<?php phpinfo(); ?>
就可以看到模組啟動成功!!

第三步,設定wordpress

Wordpress 的系統需求是:
PHP 5.2.4 以上
MySQL / MariaDB 5.0 以上

下載 Wordpress 主程式,它已經內建繁體中文語系,所以不必額外再安裝了。
wget https://tw.wordpress.org/latest-zh_TW.zip

將主程式解壓縮,若是使用 LAMP 架構的話,請把路徑改到 /var/www/html。
unzip latest-zh_TW.zip -d /usr/share/nginx/html
到 /var/www/html這樣就會在網站根目錄看到 Wordpress 主程式的目錄

將目錄權限不變,調整擁有者與擁有群組,修改成 Web Server 的使用者及群組。
chown apache:apache -R /usr/share/nginx/html/wordpress

(若是 Nginx,就應該下這樣的指令才對chown nginx:nginx -R /usr/share/nginx/html/wordpress)

建立資料庫
先連線到 MySQL / MariaDB,用預設帳號 root 登入,此 root 非彼 root,它是 DB 自管的帳號而不是 Linux 的本機帳號。
mysql -u root -p
建立一個專用的資料庫。
create database `資料庫名稱`;

建立 Wordpress 專用的使用者。
create user '使用者'@'localhost' IDENTIFIED BY '密碼';

讓專用帳號有完整存取 wordpress 資料庫的權限,並重新載入權限。
GRANT ALL ON wordpress.* TO '使用者'@'localhost' IDENTIFIED BY '密碼';

重新整理
flush privileges;
用新帳號登入資料庫。
mysql -u wpadmin -p

確認可以登入並擁有正確的資料庫存取權限了。
show databases;

第四步:開始安裝
打開瀏覽器連上 Web Server,別忘了我們是放在網站根目錄下的 wordpress 目錄,在輸入網址的時候別打錯了。
http://IP/wordpress 


認真說起來,這些步驟也算不上是安裝,目的是為了產生主設定檔 wp-config.php 裡的設定值而已,詳細說明可以參閱 Wordpress.org - Editing wp-config.php。
資料庫名稱 - 專屬的 Database 名稱
帳號 / 密碼 - Wordpress 的管理員
資料庫主機位址 - 若是 Web Server 跟 DB Server 不是同一台才要修改
資料表前綴 - 用來分辨不同 Wordpress 的資料表 (DB Tables)

如果出現「無法選擇資料庫」的錯誤訊息,可能的原因有:
  • 資料庫還沒建
  • 帳號密碼錯誤
  • 權限不夠
  • IP 位址錯誤
  • 被防火牆擋住

如果出現「無法寫入 wp-config.php 檔案」的錯誤訊息,只要自己手動建立就可以了。
 vi  /var/www/html/wordpress/wp-config.php


還要調整一下權限。
chown apache:apache  /var/www/html/wordpress/wp-config.php

恭禧~~~
安裝步驟已經到了最後一步,只要輸入部落格的基本資料就完成了。
網站標題
帳號 / 密碼
確認密碼
你的電子郵件
搜尋引擎可見度
須注意:
密碼請一定要自己手動設計過,不然,忘計時,請把資料庫砍掉重來,謝謝~~~~
(我已經砍了兩次~~~~~~~~~~~)

大功告成!
這時候就可以用剛剛建立的帳號密碼登入 Wordpress 的管理介面。 

使用Wordpress程序架構的網站如果需要在網站後台升級、安裝主題或者插件的時候,總是會提示需要我們提供FTP信息的界面。有這樣的字樣提示"要執行請求的操作,WordPress需要訪問您網頁服務器的權限。請輸入您的FTP登陸憑據以繼續。如果您忘記了您的登陸憑據(如用戶名、密碼),請聯繫您的網站託管商"。這個是比較麻煩的,現在就嘗試解決一下!

第二,如果是其他的可以使用在wp-config.php文件中添加腳本方式。
vi /var/www/html/wordpress/wp-config.php

define("FS_METHOD","direct");

define("FS_CHMOD_DIR", 0777);

define("FS_CHMOD_FILE", 0777);


若是你可以順利更新恭喜你,正式架好了,若是你運氣還是跟我依樣背,下載完一直說安裝失敗,請按照下面設定:

wordpress安裝到html目錄(即/ var / www / html)的根目錄並在該目錄上運行這兩個命令

 find /var/www/html -type f -exec chmod 664 {} \;
 find /var/www/html -type d -exec chmod 775 {} \;

確認wordpress的權限是否正確配置。

若是還不行,請把SELinux看作一個因素,發現文件上的SELinux上下文是不同的:

chcon -R --type httpd_sys_rw_content_t /var/www/html/

若無法使用該--type選項,用這個命令來使它工作
chcon --reference=/var/www/html/wp-content -R /var/www/html/

原則上,到這裡是可以成功更新的(我成功了~~~)





留言

  1. 版主您好:

    謝謝您的整理與分享,
    我找過國內外許多的資料,
    卻沒有看到像您這麼詳細的操作步驟,

    剛剛按照您的方式操作後,終於更新成功,
    我的部分是在最後一部設定SELinux的權限後,才更新成功的!

    Bryant

    回覆刪除

張貼留言

這個網誌中的熱門文章

CentOS7 之IP變動造成wordpress網頁出錯之解決過程

Django練習- django的網頁架設之基本觀念