本文目錄一覽:
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-hant/n/131202.html