golangpwd的簡單介紹

本文目錄一覽:

VB中如何獲取當前程序的絕對路徑

System.Environment.CurrentDirectory;

//例: c:/test/

Application.ExecutablePath;(包括名稱)

//例: c:/test/myapp.exe

Application.StartupPath;(不包括名稱)

//例: c:/test/

絕對路徑是直接到達目標位置,通常是從盤符開始的路徑。完整的描述文件位置的路徑就是絕對路徑,以web站點根目錄為參考基礎的目錄路徑。

絕對路徑名的指定是從樹型目錄結構頂部的根目錄開始到某個目錄或文件的路徑,由一系列連續的目錄組成,中間用斜線分隔,直到要指定的目錄或文件,路徑中的最後一個名稱即為要指向的目錄或文件。之所以稱為絕對,意指當所有網頁引用同一個文件時,所使用的路徑都是一樣的。

擴展資料

幾種編程語言獲取程序所在路徑的方法:

1、在golang程序裏面獲取程序所在路徑:

package main

import (

“path/filepath”

“os”

“fmt”

“log”

)

func main() {

execDir, err := filepath.Abs(filepath.Dir(os.Args[0]))

if err = nil {

log.Fatal(err)

}fmt.Println(execDir)

}

2、python腳本所在路徑:

import os

print(os.path.split(os.path.realpath(__file__))[0])

3、shell腳本獲取腳本的絕對路徑:

DIR=”$( cd “$( dirname “${BASH_SOURCE[0]}” )” pwd )”

求教golang中http發送post請求gb2312編碼的解決方案

用Post,不要用PostForm,至於編碼可以自己用2樓的方法然後urlencode,附上代碼片段

resp, err := http.Post(reqUrl, “application/x-www-form-urlencoded”, strings.NewReader(fmt.Sprintf( “__VIEWSTATE=%s__EVENTVALIDATION=%stxtUid=000000000txtPwd=xxxxxxxxselKind=1selKind=1btLogin=%B5%C7%C2%BD”, url.QueryEscape(viewstate), url.QueryEscape(eventvalidation), )),)

如何部署Golang應用

安裝supervisord

# 通過引導程序 ez_setup.py 來安裝。這個引導程序會聯網下載最新版本setuptools來安裝,同時也可以更新本地的setuptools。

wget

sudo python ez_setup.py

# 更新setuptools:

sudo python ez_setup.py -U setuptools

# 安裝supervisor

easy_install supervisor

# 生成配置文件

echo_supervisord_conf /etc/supervisord.conf

# 編輯配置文件

vim /etc/supervisord.conf

# 進入vim後找到最後兩行,打開注釋(取消前面的分號),

# [include]

# files = supervisor.d/*.ini

# 將所有的supervisor配置都放到 /etc/supervisor.d目錄

mkdir /etc/supervisor.d

創建 supervisor 對應程序的配置文件

其中的一些路徑需要換成自己對應的,這裡將 zankbo 這個web 應用放在了對應的用戶目錄下

通過在生產服務器上設置environment可以在程序里判斷是線上還是開發模式,如 zankbo 的 debug判斷

當然也可已在啟動命令處加入參數,如 command = /home/zankbo/gopath/src/zankbo/zankbo -d 來關閉Debug模式。

if os.Getenv(“APP_NAME”) == “ZANKBO_PRODUCT” {

beego.RunMode = “prod”

}

vim /etc/supervisor.d/zankbo.ini

# 寫入

[program:zankbo]

directory = /home/zankbo/gopath/src/zankbo

environment=APP_NAME=”ZANKBO_PRODUCT”

command = /home/zankbo/gopath/src/zankbo/zankbo

autostart = true

startsecs = 5

user = zankbo

redirect_stderr = true

stdout_logfile = /home/zankbo/log/zankbo.log

建立對應的用戶

useradd zankbo

# 將www用戶加入到zankbo用戶組,Nginx以www用戶運行

usermod -a -G zankbo www

# 更改用戶家目錄用戶組的權限,使Nginx可以訪問

chmod g+rx /home/zankbo

部署Go環境

其中的目錄為,go:Go安裝目錄 gopath:Go工作目錄,下面有src、pkg、bin三個目錄 log:日誌文件夾

[zankbo@MyCloudServer ~]$ pwd

/home/zankbo

[zankbo@MyCloudServer ~]$ vim .bashrc

# 設置Go環境變量,在.bashrc文件末尾寫下如下內容

export GOROOT=$HOME/go

export GOPATH=$HOME/gopath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bi

# 切換到用戶家目錄

[root@MyCloudServer ~]# su – zankbo

[zankbo@MyCloudServer ~]$ ls

go gopath log

將項目代碼放到gopath/src下面,如我的播客項目:

[zankbo@MyCloudServer ~]$ tree -L 2 gopath/src/

gopath/src/

├── github.com

│ ├── astaxie

│ ├── beego

│ ├── go-sql-driver

│ ├── howeyc

│ ├── jacobsa

│ ├── smartystreets

│ └── wendal

└── zankbo

├── admin

├── blog

├── build_pkg.sh

├── common

├── conf

├── controllers

├── dbstruct.mwb

├── main.go

├── models

├── static

├── views

└── zankbo

導入項目sql文件到數據庫

在項目文件夾執行build

[zankbo@MyCloudServer zankbo]$ pwd

/home/zankbo/gopath/src/zankbo

[zankbo@MyCloudServer zankbo]$ go build

會在項目下生成與包名對應的可執行文件,這裡為:zankbo,build的時候可能會遇到錯誤,比如mysql的密碼之類的,可根據提示排錯。

通過supervisor 來啟動服務

# supervisorctl start zankbo

配置Nginx

server {

listen 80;

server_name zankbo.com ;

root /home/zankbo/gopath/src/zankbo;

error_log logs/zankbo.com.error.log warn ;

location /static/ {

root /home/zankbo/gopath/src/zankbo;

location ~ .*\.(js|css)$ {

access_log off;

expires 1d;

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

gzip off;

access_log off;

expires 3d;

}

}

location / {

proxy_pass ;

}

}

原創文章,作者:TLNF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/131202.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TLNF的頭像TLNF
上一篇 2024-10-03 23:43
下一篇 2024-10-03 23:43

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論