1、Linux中伺服器軟體為什麼需要編譯安裝
伺服器CPU事實已經被Intel壟斷了,就那麼幾種型號,編來編去生成的機器碼是一樣的。Intel宣傳自己的編譯工具Intel C++ Compiler 比GCC編譯出來性能要提升10%-20%,這就是一廣告,生產環境很少用人用它,何況它還要收費
性能真不是問題,比如 strip 命令可以大大減小可執行文件的size,但是我裝過幾千遍軟體,都沒有見有人在安裝腳本裡面使用。
軟體需要編譯安裝的真實理由有如下3點:
1.軟體在編譯期間需要配置,比如說nginx,需要在編譯的時候指定包含哪些mole,php,apache 也是一樣。
同樣的是資料庫,mysql 通過編譯安裝,因為要定製存儲引擎(是否支持innodb .. ),而sqlite卻絕少有人編譯,都是直接下載二進制文件來用。
2.軟體需要統一安裝路徑,每個team都會自己的安裝目錄約定,有些喜歡裝在 /opt/下面,有些喜歡裝在 /usr/local/ ,編譯安裝可以方便的指定這些路徑(configure --prefix=xxx )
3.需要最新的版本,軟體倉庫的版本一般都比較低,這個理由其實不充分,生產環境傾向保守,不追求最新版本,但是對於geek來說,這可能是最重要的原因
弄明白原因之後,就很容易判斷編譯還是下載:
nginx/apache/php/mysql 編譯安裝
python/ruby/java 直接下載
2、如何搭建一台Linux開發伺服器
在開發過程中,必然會出現多人同時工作、協著的情況,在嵌入式開發項目中更為平常,這樣可以加快項目周期,為產品上市佔得時間先機。目前,使用Linux作為開發產品的操作系統情況越來越多,使用越來越廣泛。為了交叉編譯,為了最接近開發目標,我們一般都會自己搭建一台Linux開發伺服器。Linux開發伺服器一些常用的功能必須支持,比如Samba、nfs、tftp、httpd等。首先我們需要選擇合適的Linux操作系統作為伺服器的系統,推薦使用Fedora8、Fedora10等,筆者在長期使用的過程中覺得比較穩定吧!如何安裝該操作系統就不多說了。 裝好系統後,需要增加Linux OS用戶,可以使用命令#adser XXX;增加XXX用戶,#passwd XXX給其設置登錄密碼。當然使用圖形化創建用戶也很直觀、方便。在這個環節值得注意的一定要設置好該用戶的home目錄,一般都會設置到該用戶的工作目錄,各個用戶的工作目錄需要私有化、獨立開來,這樣方便些、安全些。 多用戶的賬戶有了,我們應該來打通網路功能了,Fedora有bug,在圖形化配置GATEWAY什麼的會不成功,請安裝如下方法修改: # cd cd /etc/sysconfig/network-scripts/ # vi ifcfg-eth0 修改配置文件如下: # Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller DEVICE=eth0 HWADDR=00:16:e6:db:c2:96 ONBOOT=yes BOOTPROTO=static //這個應該是「static」,而不是「dhcp」或「none」; USERCTL=yes PEERDNS=yes IPV6INIT=no NM_CONTROLLED=yes//這個應該是「yes」,如不修改,鏈接仍是disconnected; TYPE=Ethernet NETMASK=***.***.***.*** IPADDR=***.***.***.*** DNS1=***.***.***.*** DNS2=***.***.***.*** GATEWAY=***.***.***.*** step 3: # service network restart 接下來就需要調試一下Samba功能了,這樣在windows下編輯Linux下的代碼將非常的便利。命令行下操作方法如下: Vim /etc/samba/smbusers # Unix_name = SMB_name1 SMB_name2 … root = administrator admin nobody = guest pcguest smbguest dssun = dssun hmchen = hmchen 增加Samba用戶; Vim /etc/samba/smb.conf [dssun] comment = * path = /opt/STM/STLinux-2.3/devkit/dtvkit/dssun writeable = yes ; browseable = yes valid users = bluo, dssun, hmchen, hqian, sbxiang, tsfu, yrli 設置工作路徑,可讀寫性、有效訪問的用戶等。 在圖形化下也有配置菜單,這個就很簡單了,不再敘述。 有了Samba就方便很多了!編譯編輯都很不錯了!接下來要著手你的開發平台軟體,這個對於不同平台的SDK有不同的處理方法,根據自己的SDK來處理。 有了SDK後,我們編譯通過後,一般都會進行調試,如何方便的調試呢?一般都會想到使用nfs調試。 以Fedora為例,一般默認安裝的沒有包括tftp功能,可以使用yum來安裝,方便! #yum install tftp; #yum install tftp-server 還需要更改一下tftp的配置,如下: vim /etc/xinetd.d/tftp 修改server_args = -s /tftpboot -c,這里的-c一定要加上,否則只能下載不能上傳!!! service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 flags = IPv4 } # mkdir /tftpboot # chmod 777 -R /tftpboot/ # service xinetd restart 記得要關閉防火牆、seLinux.不disabled seLinux,Samba有可能只能讀不能寫,切記。
3、如何在遠程Linux伺服器上搭建Nginx
1.將nginx的壓縮包nginx-1.8.0.tar.gz上傳到Linux伺服器
2.由於nginx是C語言開發的並且我們這里是通過編譯nginx的源碼來安裝nginx,所以Linux上要安裝C語言的編譯環境gcc,
如果已經安裝此步可以省略,否則執行命令:
3.nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。
yum install -y pcre pcre-devel
4.zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
5.nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。
yum install -y openssl openssl-devel
6.在Linux上創建nginx的臨時目錄,注意我這里是在Linux文件系統下的
/var下創建文件夾temp在temp下創建nginx。即:/var/temp/nginx
7.執行命令:
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_mole --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi
8.編譯源碼,安裝nginx:
make make install
9.啟動nginx:
cd /usr/local/nginx/sbin/./nginx -c /usr/local/nginx/conf/nginx.conf
在瀏覽器中訪問: http://localhost 出現下面界面表示安裝成功:
我們此時也可以查看到nginx進程的運行情況:
ps aux|grep nginx
10.nginx伺服器的停止方式:
方式一:先查出nginx進程id再使用kill命令強制殺掉進程。
cd /usr/local/nginx/sbin./nginx -s stop
方式二(推薦):待nginx進程處理任務完畢進行停止。
cd /usr/local/nginx/sbin./nginx -s quit
以上就是本文的全部內容,希望對大家的學習有所幫助
4、Linux編譯伺服器上怎麼下載內核源碼
編譯linux內核步驟: 1、安裝內核 如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedH...
5、怎麼在Linux伺服器上編譯虛幻4
linux終端下,編譯C語言程序步驟為:採用vi進行源代碼編寫,編寫完成後,:wq存檔退出,如:vi test.c
在命令行下,運行gcc編譯程序,生成執行碼,如:gcc -o test test.c-o 表示指明生成的執行碼名稱
運行編譯後的執行碼./test
6、如何在linux系統的伺服器上進行編譯
方法/步驟
打開Myeclipse編輯器,在已經完成的web項目上面點擊右鍵,選擇export,然後選擇導出成war包,將導出的war包放在桌面或者其他文件夾。
這里我們使用putty連接到遠程的linux伺服器上,雙擊運行putty軟體,輸入linux伺服器的ip地址,點擊連接,輸入賬號密碼後進入到linux伺服器中
在ubuntu伺服器中安裝java環境,tomcat,和mysql等必須的軟體。可以通過apt-get install 來進行安裝
通過winscp軟體,把第一步導出來的項目的war包傳輸到linux伺服器上自己設定的目錄下
5
把項目的war包通過cp或者mv命令移動到tomcat目錄下的webapps目錄的下面
6
在linux伺服器上切換到tomcat安裝目錄下的bin目錄下,通過./startup.sh命令啟動tomcat伺服器,這樣就能通過ip:8080/項目名 來訪問目標網站了。
7、linux編譯的程序如何轉移到別的linux系統 (滿意追加50)
1、使用rpm包進行安裝;
優點是不需要另外的編譯機,缺點是要安裝其他的依賴包。
2、使用源碼編譯生成安裝包;
優點是在目標機器可以直接使用編譯結果,缺點是需要額外的機器
找一個內核與發布版本都與你的網關Linux相同的機器,上傳你要編譯的源碼,一般官網提供的是xxx.tar.gz。按照下面步驟操作:
a、解壓;
b、執行configure;
c、make;
d、make install
e、把install目錄中的文件打包到目標機器解壓;
f、在bin或者sbin等目錄創建軟鏈接到目標機器安裝目錄的bin目錄下的二進制文件;
下面的例子是把openssl安裝在opt/openssl目錄下:
tar -zxf openssl-0.9.8y.tar.gz
cd openssl-0.9.8y/
./config shared threads --prefix=/opt/openssl
make
make install
執行完上面的命令,就會把openssl安裝在編譯機的/opt/openssl目錄下,接下來只需要把/opt/openssl裡面的內容拷貝到你的網關Linux機器即可,記得要在添加/opt/openssl/bin到環境變數PATH裡面或者在/usr/bin目錄創建軟鏈接到/opt/openssl/bin下的二進制文件。
8、安裝了一台Linux伺服器,想自己編譯內核,一步一步做下來,
一般情況下
initrd這個文件在台式機上不是必須的,但是在有SCSI設備的伺服器上卻是必須的。有可能因為編譯內核的時候沒有產生initrd那個文件,所以會有上面的錯誤提示。用戶可以使用mkinitrd命令來生成一個initrd.img文件,然後加入GRUB,重啟試一試更多內容請查看《Linux就該這么學》。
9、怎麼重新編譯linux伺服器內核
make config首先配置內核,生成內核配置文件,如果是伺服器上的,建議使用編輯好的內核配置文件,自己在伺服器上配置比較麻煩;
make再根據生成的配置文件進行編譯;
找到新的內核就可以使用