gitee 作為國內領先的開源代碼托管平臺,提供了許多開發者需要的功能,比如 git 版本管理、代碼倉庫、協作開發、靜態網頁托管等等。對于新手來說,gitee 項目部署可能有些困難。本文將介紹如何在 gitee 上創建項目并將其部署到服務器上。
- 創建一個 Gitee 項目
首先,你需要注冊一個 Gitee 賬戶,然后創建一個新的倉庫。在倉庫創建頁面,填寫倉庫名稱和描述,選擇許可證(可以選擇MIT或GPLv3等常用許可證)和同步 github等其他倉庫的代碼,也可以勾選“創建 README”的選項來創建一個自述文件。
- 打開 ssh 連接
要將代碼推送到遠程服務器,必須打開 SSH 連接。打開 Gitee 的個人設置,然后單擊 SSH 密鑰。您需要在本地計算機上生成一個新的 SSH 密鑰。可以使用以下命令在命令行中生成新的 SSH 密鑰:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在 windows 上,您可以使用 Git bash shell 或 PuTTY 等工具來執行此命令。在執行此命令期間,您需要按照提示輸入幾個值。生成后,將公鑰復制到 Gitee 的 SSH 密鑰部分中。將公鑰復制到剪貼板中,然后在 Gitee 上的窗口中單擊“添加密鑰”并將其粘貼進去。
- 將代碼推送到 Gitee
現在你已經創建了一個項目并打開了 SSH 連接,下一步是將代碼推送到 Gitee。請注意,你需要 Git 作為版本控制系統,在命令行中進行 push 和 pull。
先進入到項目本地地址,在項目根目錄中使用命令將其初始化:
git init
然后在命令行中添加所有文件并提交代碼:
git add . git commit -m "Initial commit"
現在可以使用以下命令將代碼推送到遠程存儲庫:
git remote add origin git@gitee.com:myname/myproject.git git push -u origin master
myname 換成你在 Gitee 上的用戶名,myproject 換成你在 Gitee 上的項目名稱。
- 在服務器上安裝必要的軟件
要在服務器上運行代碼,您需要安裝一些必要的軟件,包括 nginx、php 和 mysql 等。為了方便起見,您可以選擇使用 LAMP 或 LEMP 等全面的 Web 服務器軟件包。您可以在 ubuntu、debian 或 centos 等 linux 發行版上安裝這些包。
例如,在 Ubuntu 上,可以使用以下命令安裝 LEMP 軟件包:
sudo apt-get update sudo apt-get install nginx mysql-server mysql-client php-fpm php-mysql php-cli
此命令將安裝 Nginx 作為 Web 服務器、MySQL 數據庫和 PHP-FPM 作為 PHP 處理器。
- 創建一個虛擬主機
一般來說,你需要為每一個部署在服務器上的項目創建一個虛擬主機。您可以在 Nginx 配置目錄中創建一個新文件,在其中定義作為虛擬主機的新服務器塊。以下示例配置可以用作參考:
server { listen 80; server_name myproject.com; root /var/www/myproject; index index.html index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
請注意,該示例假設您的項目代碼存儲在/var/www/myproject目錄中。
- 將代碼拉取到服務器
現在你可以在服務器上將你的代碼拉取下來了。在命令行中執行以下命令:
git clone git@gitee.com:myname/myproject.git /var/www/myproject
該命令將使用之前添加的 SSH 密鑰將代碼從 Gitee 拉取到/var/www/myproject目錄中。
- 重啟 Nginx 服務
最后,您需要重啟 Nginx 服務以加載虛擬主機配置文件并啟動服務器。您可以使用以下命令重啟 Nginx 服務:
sudo systemctl restart nginx
恭喜,您現在已經在 Gitee 中部署了自己的代碼,并將其推送到了自己的服務器上。