❶ linux centOS下怎麼配置web伺服器
PS:系統概述
硬碟:130G
分區:兩個分別是根目錄(49G,系統及初始化軟體)和/data(89G,空著的、我計劃放所有網站)
已安裝的程序:
1.vsftp
2.mysql
3.apache
在開始操作之前我們把密碼改一下。。。還有就是本文中出現的《》這個符號都表示不用輸入
passwdroot《設置root密碼》
示例我們把所有網站程序都劃分到/data/web/下,方便以後管理
老闆要求
把在本地開發的php+mysql程序通過FTP架設到web伺服器,並能通過域名正常訪問網站。步驟/方法
第一步:創建FTP
================================================================
chmodgo+rwx/data《給data分配許可權》
cd/data《進入data分區》
mkdirweb《建立web目錄》
chmodgo+rwx/data/web
cd/《回到根目錄,個人操作習慣,可跳過這步》
useradd-s/sbin/nologin-gftp–d/var/www/web/wyh.comjiangge
(注:-s/sbin/nologin是讓其不能登陸系統,-d是指定用戶目錄為/var/www/web/wyh.com
jiangge為ftp用戶名字)
passwdjiangge《設置FTP密碼》
vi/etc/vsftpd/vsftpd.conf《修改FTP配置文件》
註:按一下i進入到編輯模式,修改完後按一下ESC退出編輯模式,再輸入《:wq》(其作用是保存改修改並退出)《:q!》退出不保存《:q》沒有做過修改用這個退出
idle_session_timeout
data_connection_timeout
找到這兩個,,修改其值大於900,如果不修改這個的話,,FTP鏈接很慢
#xferlog_file
找到這個,刪除#。。。作用是記錄FTP的日誌
/etc/init.d/vsftpdrestart《重啟FTP後配置文件才會生效》
到此第一步OK你可用FTP登陸啦!
註:我這配置有這個問題沒解決,登陸報超時,但你耐心的等一會,就會鏈接好,如果有盆友知道解決方法的,請幫解答一下。。。謝謝。。
======================================================================
第三步:配置mysql
==============================================================================
/usr/local/mysql/bin/mysql–uroot-p《登陸mysql,按一下ENTER然後輸入mysql密碼,默認和萬網root密碼一樣》
usemysql;《選擇mysql表》
grantalloncqwebseo_db.*tocqwebseo@localhostidentifiedby'cqwebseomysql';《添加一個數據,有所有許可權,cqwebseo_db為資料庫名,cqwebseo為用戶名,cqwebseomysql為密碼》
flushprivileges;《不用解釋吧,真就度娘一下。》
exit;《這個也不用說吧》
/usr/local/mysql/bin/mysqladmin-uroot-p8y6v8a3c7ushutdown《停止mysql》
/usr/local/mysql/bin/mysqld_safe《啟動mysql》
到此。。就Ok。注意。。注意。。。。。分號分號分號不要忘記了。
/usr/local/mysql/var《資料庫存放目錄》
================================================================================
第二步:配置httpd.conf
=======================================================================
echohi!Thistest!/data/web/cqwebseo.com>index.php《在cwebseo.com裡面建立一個內容為hi!Thistest!的index.php文件》
vi/var/www/conf/httpd.conf《進入主戰場》
按上下鍵,翻到文檔最後,然後加入下列表代碼(不知道怎麼加進的,看第一步的注意事項)
<VirtualHost*:80>
DocumentRoot/data/web/cqwebseo
DirectoryIndexindex.php
[email protected]
ServerNamecqwebseo.com
ServerAliaswww.cqwebseo.com
#ErrorLog/data/web/sanmao/log/error.log
#TransferLog/data/web/sanmao/log/access.log
</VirtualHost>
簡單說一下。。。。。。網上有很多這方面的資料
DocumentRoot/data/web/cqwebseo這個就是網站的決對地址說白就是你分配給他的FTP地址
DirectoryIndexindex.php這個表示網站默認首頁是index.php
[email protected]服務管理員的郵箱
ServerNamecqwebseo.com這個你懂的
ServerAliaswww.cqwebseo.com這個也不需要解釋吧
餘下的兩個被我注釋掉嘍,,,意思是網站的日誌文件存放地
var/www/bin/apachectlrestart重啟apachectl
var/www/bin/apachectlstop停止apachectl
var/www/bin/apachectlstart啟動apachectl
OK到這里。。第二步就完。。。你能輸入網址。。。看到這個目錄啦。。不過有個前題條件。。這個個域名要解析過來了滴哈。。不然的話。。你就不要輸入域名那兩個。。直接用你服務的IP地址訪問也行的。。。。如果你操作正確啦。。就能看到網頁上出現hi!Tistest!
❷ golang適合做web開發嗎
適合。框架足夠成熟了 A Survey of 5 Go Web Frameworks
小型項目你甚至不用框架,用net/http http - The Go Programming Language
常用庫也成熟了 Top - Go Search
golang的web後端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web項目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對於文件改動重新編譯其實並不是大問題,看pilu/fresh · GitHub,其實你自己寫shell腳本(也可以直接用go寫,因為它本身就是系統語言)監控文件系統改動然後自動重新build,即使是C/C++的項目這也不是大問題,人們不用C/C++寫web是因為它們不是寫web app的最佳選擇
golang寫的代碼編譯通過後,要比scripting language魯棒,因為go compiler強制一些最佳實踐
❸ golang 有哪些比較穩定的 web 開發框架
第一個:Beego框架
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對於golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,並給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,並允許使用任意的HTML模版引擎。
❹ centos怎麼發布網頁的步驟有哪些
安裝操作系統centos
搭建web伺服器
准備網站文件上傳到web伺服器並進行配置
開放web服務埠
驗證
希望可以幫助你 請採納
❺ golang web開發頁面傳值怎麼傳
如果你是指兩個頁面之間的傳值,那麼可以這么做:
簡單的話,可以通過URL傳值,比如 http://example.com?name=gem
可以通過讀取url的參數name獲得gem。
也可以通過session,cookie等方法,這兩種方法就有一些限制,比如換個瀏覽器,session和cookie就不一樣了,那麼你傳的值就不存在了。
所以第一種會比較通用。
如果是傳值給模板(一般是模板引擎之類的,比如html/template),這些教程很多,搜一下比較快速解決
❻ centos下用nginx+tomcat如何發布java web項目
你需要簡單的設置nginx的配置文件
userxxxxxx;←這里是nginx的用戶名和用戶組
worker_processes10;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
#最大文件描述符
worker_rlimit_nofile51200;
events
{
useepoll;
worker_connections51200;
}
http
{
includemime.types;
default_typeapplication/octet-stream;
keepalive_timeout120;
tcp_nodelayon;
upstreamcentos的IP{
server127.0.0.1:8080;
}
server
{
listen80;
server_namecentos的IP;
location/{
proxy_passhttp://centos的IP;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}
}
}
然後啟動tomcat,訪問centos的IP就可以了
❼ golang做web網站,對比php python java nodejs等有什麼優勢
站長這個網站,點擊鏈接後,感覺頁面切換速度很快。是跟伺服器線路配置有關,還是跟golang語言有關,還是跟mongodb資料庫有關。
如果用golang做douban.com,或tianya.cn,或網路知道,貼吧,網路等,會有什麼不穩定不確定不成熟的地方嗎。
站長對比自己用過的語言,對golang以後的前景如何看待,特別在動態web開發方面。能獨領風騷未來三十年嗎。
❽ centos怎麼部署javaweb網站
需要在centos上面安裝Tomcat 然後將編譯後的代碼放在tomcat的webapps文件夾下面就可以了
❾ centos 5.5 怎麼安裝web伺服器
一、web的安裝配置
1、安裝:yum install httpd mod_ssl -y
mod_ssl 是實現 https 協議時所依賴的包
2、配置文件的相關說明:
配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
服務腳本:
/etc/rc.d/init.d/httpd
腳本配置文件:/etc/sysconfig/httpd,這里可以定義MPM的類型
模塊目錄:
/usr/lib64/httpd/moles
/etc/httpd/moles
/etc/httpd/moles是/usr/lib64/httpd/moles的鏈接文件
主程序:
/usr/sbin/httpd: prefork 模式
/usr/sbin/httpd.event: event模式
/usr/sbin/httpd.worker: worker模式
日誌文件:
/var/log/httpd/access_log: 訪問日誌
/var/log/httpd/error_log: 錯誤日誌
站點文檔的根目錄:
/var/www/html
二、httpd的配置文件說明
# grep "Section" httpd.conf
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts
主要分為三部分:全局配置,主伺服器配置,虛擬主機的配置。主伺服器和虛擬主機一般不同時使用;默認僅啟用了主伺服器。在每個部分中有許多指令參數,這些指令參數不區分字元大小寫,但其值有可能會區分大小寫。
三、配置文件選項詳細說明
1、持久連接
通常的參數有:
KeepAlive {On|Off} 是否開啟持久連接功能。默認是 Off。
以下這2個指令參數只有在KeepAlive On 時才有效
KeepAliveRequests 100 允許的一次持久連接的最大請求數。
KeepAliveTimeout 2次持久連接時間的間隔
驗證效果:
2、MPM 參數
ServerStart 參數的驗證,共有9個相關的進程,其中一個是其他 8 個的父進程:
3、監聽的埠
指定格式:Listen [IP:]port 默認的埠號是80
這個埠可以自己指定,一般使用大家熟知的埠,常用的有 80 和 8080。
4、DSO 動態共享對象
在這里可以實現動態庫的裝載,可以使用 httpd -D MODULES 或者 httpd -M 來查看已載入的模塊名。
示例:
使用 mod_deflate 模塊壓縮頁面來優化傳輸速度。
未使用 mod_deflate 模塊,訪問 http;//192.168.1.66/messages 文件時相應的位元組數大小是:316080 位元組。
載入 mod_deflate 模塊,並進行配置 vim /etc/httpd/conf/httpd.conf。
載入後的驗證,載入 mod_deflate 模塊後的大小是 41902 位元組,壓縮比還是相當可觀的。
5、指定站點的根目錄
DocumentRoot 「/var/www/html」 這是 rpm 安裝方式的默認的根站點目錄。當然這個可以根據自己的需求來設定。
6、基於目錄和文件的訪問控制
使用 directory 指令基於本地文件系統來實現對目錄的訪問控制。
常見的控制指令有:
Options:
Indexes:Indexes: 當訪問的路徑下無默認的主頁面,將所有資源以列表形式呈現給用戶。
FollowSymlinks: 跳躍符號鏈接
AloowOverride: 支持在每個頁面目錄下創建.htaccess用於實現對此目錄中資源訪問時的訪問控制功能。
AuthCofig:用於實現用戶認證的目的。
Order結合deny from、allow from 一起使用,來基於 IP 地址設定訪問控制
例如:
這是設置訪問白名單的設置,只允許 172.16 網段的客戶端來訪問對應的目錄。當然 from 後面的地址是比較靈活的,像:172.16,172.16.0.0,172.16.0.0/16,172.16.0.0/255.255.0.0這種形式的都是允許的。
Order allow,deny
Allow from 172.16.0.0/16
當然,上面對目錄的控制,也可以使用 Locaton 指令基於URL來實現。
DocumentRoot 「/var/www/html」
<Directory "/var/www/html/admin">
訪問控制參數
</Directory>
等價於:
<Location "/admin">
訪問控制參數
</Location>
對於 Option Indexex參數示例,一般此選項作為文件伺服器,提供下載使用時使用到此選項,其他情況應慎重使用。
7、指定默認訪問的主頁面
默認的使用格式如下:這里也可以自己定義主頁面
DirectoryIndex index.html index.html.var
8、配置日誌功能
ErrorLog "/path/to/error_log" 指明錯誤日誌的路徑,可以適應相對地址。相對於 ServerRoot 指令所定義的目錄
LogLevel {debug|info|notice|warn|error|crit|alert|emerg} 指定日誌的級別
LogFormat 指定日誌文件的格式
CustomLog "/path/to/access_log" LogFormat_Name 指定 access_log 的路徑個和使用的格式
%h: 客戶端地址
%l: 遠程登錄名,通常為-
%u: 認證時輸入用戶名,沒有認證時為-
%t: 伺服器收到 用戶請求時的時間
%>s: 響應狀態碼
%b: 響應報文的長度,單位是位元組
%{HEADER_NAME}i: 記錄指定首部對應的值
9、路徑別名
使用指令參數:Alias 實現URL 路徑映射時,訪問的路徑不在依賴於站點的根目錄。
10、基於用戶訪問控制
基於用戶的認證的方式有基本認證(Basic)和摘要認證(digest)。這里是基於虛擬用戶來實現的。實現的方式有:文本文件、資料庫、ldap、資料庫引擎來提供API介面。
以基於文件的形式實現用戶訪問的控制來示例:
1、vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
Options none# optons 選項控制
AllowOverride AuthConfig # 實現用戶認證
AuthType Basic # 認證方式是 Basic
AuthName "Admin Area." # 提示信息
#AuthBasicProvider file # 認證方式的提供者
AuthUserFile /etc/httpd/conf/.htpasswd # 認證文件的路徑
Require valid-user # 登陸用戶控制 require user USER_NAME
</Directory>
2、提供認證文件
由 htpasswd 命令得到。常用選項:
-c: 如果此文件事先不存在,則創建;注意,只能在創建第一個用戶時使用
-m: 以md5的格式編碼存儲用戶的密碼信息
-D: 刪除指定用戶
例如:
htpasswd -c -m /etc/hhtpd/.htpasswd tom
3、組認證
<Directory "/var/www/html/admin">
Options none
AllowOverride AuthConfig
AuthType Basic
AuthName "Admin Area."
#AuthBasicProvider file
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup # 組文件的路徑,自己手動建立
Require group GROUP_NAME
</Directory>
組文件格式:
組名:user1 user2 user3
11、虛擬主機
虛擬主機:使用不同訪問路徑
基於埠:通過不同的埠來提供不同的訪問站點
基於IP:基於不同的 ip 地址來訪問不同的站點
基於主機名:相同的 IP 地址通過不同的主機名來實現訪問不同的站點
(1) 使用虛擬的前提:取消主伺服器
注釋主伺服器的站點根路徑指定:DocumentRoot
(2) 定義虛擬主機
NameVirtualHost IP:PORT # 指定監聽的地址和埠
<VirtualHost IP:PORT>
ServerName # 主機名
ServerAlias # 定義多個主機名,此時 ServerName 的名稱應該是 UR
DocumentRoot # 根站定目錄
ServerAlias # 主機別名
ErrorLog # 錯誤日誌的定義
CustomLog #訪問日誌的定義
</VirtualHost>
配置文件語法檢查:
httpd -t
service httpd configtest
配置完成虛擬主機後,可使用 httpd -S 顯示配置的虛擬主機
測試:crul URL
12、https協議
由於http 協議在傳輸過程中使用的是明文傳輸。所以就出現了 https 協議來實現加密的 https 協議。ssl會話基於IP地址創建,所以,每一個IP僅創建一個SSL會話。https協議:是基於SSL二進制編碼, 監聽於443/tcp。
ssl握手要完成的工作:
交換協議版本號
選擇雙方都支持的加密方式
客戶端對伺服器端實現身份驗正
密鑰交換
客戶端驗正伺服器端證書:
有效性檢測:證書是否仍然在有效期內
CA的可信度檢測
證書的完整性檢測
持有者的身份檢測
配置httpd工作於https:
(1) 安裝mod_ssl模塊
# yum install mod_ssl
(2) 為服務端生成私鑰,並為其提供證書;
在服務端(172.16.10.9):
# (umask 077;openssl genrsa -out /etc/pki/CA/private/cacert.key 2048)
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 1000
# touch index.txt
# echo "01" > serial
在客戶端:
#(umask 077;openssl genrsa -out /etc/httpd/httpd.key 2048)
#openssl req -new -key /etc/httpd/httpd.key -out /etc/httpd/httpd.csr
將 httpd.csr 傳到服務端簽名:
在服務端:
# openssl ca -in /root/httpd.csr -out /root/httpd.crt -days 1000
將簽好的證書,httpd.crt 傳回到客戶端,放到 /etc/httpd/ 目錄下
(3) 配置使用https的虛擬主機
<VirtualHost IP:443>
SSLCertificateFile # 證書路徑
SSLCertificateKeyFile # 證書私鑰文件
DocumentRoot # 虛擬主機的根站點
ServerName # 虛擬主機的主機名
</VirtualHost>
(4) 重新裝載配置
httpd reload
(5) 測試
# openssl s_client -connect IP:PORT -CAfile /path/to/ca_certificate
13、status頁面
httpd內嵌有handler,其中有一個handler用於輸出當前httpd服務相關狀態信息handler: server-status
啟用handler要使用SetHandler指令
handler: 當文件被調用時,apache內部表示形式;一般每種文件類型都有其隱式處理器
示例:基於 10、11、12、13
建立httpd伺服器(基於編譯的方式進行),要求:
提供兩個基於名稱的虛擬主機:
a www1.stu10.com,頁面文件目錄為/web/vhosts/www1;錯誤日誌為/var/log/httpd/www1.err,訪問日誌為/var/log/httpd/www1.access;
(b)www2.stu10.com,頁面文件目錄為/web/vhosts/www2;錯誤日誌為/var/log/httpd/www2.err,訪問日誌為/var/log/httpd/www2.access;
(c)為兩個虛擬主機建立各自的主頁文件index.html,內容分別為其對應的主機名;
(d)通過www1.stu10.com/server-status輸出httpd工作狀態相關信息,且只允許提供帳號密碼才能訪問(status:status);
1、配置文件的的編輯,vim /etc/httpd/httd.conf
還的注釋主配置下的 DocumentRoot "/var/www/html"
2、 創建對應的站點和提供密碼文件
# 創建對應的站點目錄並提供默認的頁面
mkdir /web/vhosts/www1/ -p
mkdir /web/vhosts/www2/ -p
echo "<h1>welcom www1.guotig.com<h1>" > /web/vhosts/www1/index.html
echo "<h1>welcom www2.guotig.com<h1>" > /web/vhosts/www2/index.html
# 提供用戶認證文件
htpasswd -cm /etc/httpd/conf/.htpasswd status
mkdir /web/hosts/www1/server-status
chowm apache.apache /web/hosts/www1/server-status
3、提供主機名解析文件 在/etc/hosts中添加:(在測試客戶端)
172.16.10.9 www1.stu10.com www2.stu10.com
4、測試結果如下:
為上面的第2個虛擬主機提供https服務,使得用戶可以通過https安全的訪問此web站點;
(1)要求使用證書認證,證書中要求使用的國家(CN)、州(Henan)、城市(Zhengzhou)和組織(MageE)
(2)設置部門為Ops,主機名為web.mage.com,郵件為[email protected]
1、編輯 vim /etc/httpd/conf.d/ssl.conf 添加以下內容
當然在 /etc/httpd/conf/httpd.conf,要載入 mod_ssl 模塊
使用 httpd -S 來查看已經配置好的虛擬機
2、提供證書
mkdir /etc/httpd/ssl && cd /etc/httpd/ssl
(umask 077; openssl genrsa -out httpd.key 1024)
openssl req -new -key httpd.key -out httpd.csr
去服務端簽署證書:
openssl ca -in httpd.csr -out /httpd.crt -days 300
簽署後的證書存放到:/etc/httpd/ssl/httpd.crt
3、驗證結果
首次訪問時會出現導入證書的問題,導入證書就可訪問。
導入證書就可以訪問了。
14、httpd程序包自帶的工具介紹
httpd: apache伺服器程序
-t: 測試配置文件
-l: 列表靜態模塊
-D DUMP_MODULES:列出DSO模塊
-M:等價於 -t -D DUMP_MODULES
-D DUMP_VHOSTS: 列出所有虛擬主機
htpasswd: 為基於文件的basic認證創建和更新用戶認證文件
apachectl: 腳本,httpd服務控制工具,可啟動,關閉,重新載入配置文件。
ab: (apache benchmark)httpd的基準性能測試工具;
apxs: httpd得以擴展使用第三方模塊的工具;
htcacheclean: 磁碟緩存清理工具;
htdigest: 為digest認證創建和更新用戶認證文件
httxt2dbm: 為rewrite map創建dbm格式的文件
rotatelogs: 日誌滾動,不關閉httpd而切換其使用日誌文件的工具
suexec: 當httpd進程需要以另外的用戶的身份去訪問某些資源時,可以以suexec作臨時切換;
15、ab工具的初步使用
同類工具:http_load, webbench, seige
Usage: ab [options] [http[s]://]hostname[:port]/path
常用的參數:
-c #: 模擬的並發數;
-n #: 總的請求數,-n的值一定要大於等於-c的值;
使用 ab -c 100 -n 5000 http://www.stu10.com/index.html測試的結果如下:
但是把並發量提高到2000的時候,就會出現以下的錯誤。
這是由於資源限定的問題,一般情況下,Linux默認打開的文件數是1024。
❿ 如何在centos7搭建web伺服器
首先,需要在centos7上面配置網站所需要的環境。
如果說你不會配置網站環境,那可以安裝webmin、kloxo、cp等面板來使用。
因為這樣的面板在配置好之後都是配置好網站所需要的阿帕奇、mysql等環境的。