centos7編譯環境搭建
1. centos7怎麼編譯安裝nginx
安裝環境為:最小化安裝的centos7,關閉seliunx。
最小化安裝centos:
關閉selinux
sed –i 『s/SELINUX=enforcing/SELINUX=disabled/g』 /etc/selinux/config
開始安裝nginx1.7.8
創建群組
groupadd www
創建一個用戶,不允許登陸和不創主目錄
useradd -s /sbin/nologin -g www -M www
#下載最新版nginx
wget -C http://nginx.org/download/nginx-1.7.8.tar.gz
tar zxvf nginx-1.7.8.tar.gz
#編譯基本能運行的nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_mole --with-http_ssl_mole --with-http_gzip_static_mole
make
make install
如果有錯誤提示:
./configure: error: C compiler cc is not found
解決方法:
yum install gcc gcc-c++
如果有錯誤提示:
./configure: error: the HTTP rewrite mole requires the PCRE library.
You can either disable the mole by using –without-http_rewrite_mole
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using –with-pcre=<path> option.
解決方法:
yum install pcre-devel
如果有錯誤提示:
./configure: error: SSL moles require the OpenSSL library.
You can either do not enable the moles, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using –with-openssl=<path> option.
解決方法:
yum install openssl-devel
以上錯誤提示依次解決後:再一次的運行
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_mole --with-http_ssl_mole --with-http_gzip_static_mole
make
meke install
編譯參數解釋:
#指定運行許可權的用戶
--user=www
#指定運行的許可權用戶組
--group=www
#指定安裝路徑
--prefix=/usr/local/nginx
#支持nginx狀態查詢
--with-http_stub_status_mole
#開啟ssl支持
--with-http_ssl_mole
#開啟GZIP功能
--with-http_gzip_static_mole
因此要順利的通過nginx編譯安裝必須安裝的依賴關系有:
yum install gc gcc gcc-c++ pcre-devel zlib-devel openssl-devel
2、在 centos7 中為nginx的啟動、重啟、重載配置添加腳本
nginx直接啟動的方法:
/usr/local/nginx/sbin/nginx
但是不是很方便,因此使用下面的腳本來控制nginx的啟動關閉重載更加合理一些。
編輯文件:vim /usr/lib/systemd/system/nginx.service 添加下面的腳本,注意路徑 !
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl的一些使用方法:
systemctl is-enabled servicename.service #查詢服務是否開機啟動
systemctl enable xxx.service #開機運行服務
systemctl disable xxx.service #取消開機運行
systemctl start xxx.service #啟動服務
systemctl stop xxx.service #停止服務
systemctl restart xxx.service #重啟服務
systemctl reload xxx.service #重新載入服務配置文件
systemctl status xxx.service #查詢服務運行狀態
systemctl --failed #顯示啟動失敗的服務
因此,添加上面腳本後,centos7 中操作nginx的方法有
systemctl is-enabled nginx.service #查詢nginx是否開機啟動
systemctl enable nginx.service #開機運行nginx
systemctl disable nginx.service #取消開機運行nginx
systemctl start nginx.service #啟動nginx
systemctl stop nginx.service #停止nginx
systemctl restart nginx.service #重啟nginx
systemctl reload nginx.service #重新載入nginx配置文件
systemctl status nginx.service #查詢nginx運行狀態
systemctl --failed #顯示啟動失敗的服務
2. 請教如何在Centos 下安裝C/C++編譯,開發環境
首先,需下載以下軟體包 Eclipse IDE for C/C++ Developers
該下載包已經集成了CDT了所以就不需要再像以前那樣勞神費力去配置了。
不過,Eclipse運行需要有java運行環境庫(JRE)和Java開發工具包(JDK),如果沒有安裝的可以參考我前一篇文章進行安裝.
另外,既然進行C/C++開發,自然要安裝相應的編譯器及工具鏈,在CentOS下可以使用yum來安裝
yum install gcc gcc-c++
至此基本上已經大功告成,可以運行解壓縮後的Eclipse,根據向導建立一個C++的HelloWord!測試一下是否可以編譯執行。
3. 如何在centos7下搭建測試環境
centos7的測試環境你是要搭建在虛擬機還是伺服器上。
如果是虛擬機上,請參考這一篇centos7本地測試環境搭建
如果在伺服器上,請參考這一篇linux操作系統下部署Javaweb項目教程
想要快速得到回答,建議仔細描述自己的問題!
4. 在centos 7上安裝並配置python 3.6環境,怎樣使用3.6.1 版本
在CentOS 7上安裝並配置Python 3.6環境
在純凈的 CentOS 系統上安裝 Python 環境主要有兩種辦法。 一種是通過源碼編譯安裝,另外一種就是安裝已經打好的 RPM 包。依照個人習慣,我們先來看一下如何通過源碼編譯的方式安裝 Python 3.6 並且配置虛擬環境。
作者:TaoBeier來源:segmentfault|2017-06-26 18:30
移動端
收藏
分享
拖了很久沒有更新,抱歉啦~ 今天受邀寫篇如何在 CentOS 7 上配置 Python 3 環境的文章。往常我都選擇直接把我早年寫的一篇文章源碼編譯MongoDB丟過去,讓他們看其中的源碼編譯 Python 那一節,不過那節寫的其實不太詳細,而且最近被很多人催,所以還是單獨寫一篇好了。
當前最新的 CentOS 7.3 默認安裝的是 Python 2 ,並且默認的官方 yum 源中不提供 Python 3 的安裝包。有些用戶想要升級使用 Python 3 但實際可能有各種各樣的問題,導致出錯,反觀一下激進的 Fedora 社區,在23的時候,就將默認的版本修改成了 Python3 (如果我沒記錯的話)。
先說下我所使用的系統環境, 一個新創建的 Docker 容器。 使用 cat /etc/redhat-release 可以看到運行的是 CentOS 7.3 版本。
在純凈的 CentOS 系統上安裝 Python 環境主要有兩種辦法。 一種是通過源碼編譯安裝,另外一種就是安裝已經打好的 RPM 包。依照個人習慣,我們先來看一下如何通過源碼編譯的方式安裝 Python 3.6 並且配置虛擬環境。
使用源碼進行編譯安裝
基礎環境
先安裝安裝幾個必須的包,以方便後續的操作
➜ yum install wget gcc make ➜ # wget 用於下載源碼包 ➜ # gcc 和 make 用於編譯
上 Python的官網 下載源碼包
➜ wget
解包,解壓縮
➜ xz -d Python-3.6.1.tar.xz ➜ tar -xvf Python-3.6.1.tar
編譯
➜ cd Python-3.6.1 ➜ ./configure --prefix=/usr/local/python3.6 --enable-optimizations ➜
先解釋下上面的參數,--prefix 是預期安裝目錄,--enable-optimizations 是優化選項(LTO,PGO 等)加上這個 flag 編譯後,性能有 10% 左右的優化(如果沒記錯的話),但是這會明顯的增加編譯時間。不過關於 LTO 和 PGO 其實不在今天文章的討論范圍內,建議感興趣的可以看看 GCC 中 LTO 的具體實現。我應該不太可能去寫相關的文章 哈哈哈 畢竟寫起來就會停不下來。
接下來
➜ make ➜ make install
如圖,會看到出錯了,提示 zlib not available 所以,我們需要裝一下依賴
➜ yum install zlib-devel
那為什麼需要這個依賴包呢, 其實是因為 Python 有個很重要的內建模塊 zipimport 用於從 Zip 壓縮包中導入模塊。 而如果沒有 zlib 的包,那麼就無法進行解壓縮了,也自然該模塊就不能使用了。
當我們的依賴安裝好之後,重新執行上面的編譯安裝的步驟,發現執行成功。
➜ /usr/local/python3.6/bin/python3 --version Python 3.6.1
此刻,我們的 Python 3 也就安裝成功了。
檢查
編譯安裝完還遠遠不夠,我們來做些檢查。
當我們運行 Python 終端,輸入 import bz2 的時候,會發現沒有這個模塊。如果你對這個模塊不熟悉,那也沒關系。我們輸入 import sqlite3熟悉 Python 的同學應該對 sqlite3 不會太陌生,但如果你還是不熟悉的話,那你按方向鍵試試看。有沒有發現,輸出變成了^[[D^[[A 類似這樣的內容?
熟悉 Python 源碼的同學,肯定知道我要說什麼了。但是假如你不熟悉,沒關系,我來告訴你。正常來講,在終端下我們預期當輸入上方向鍵,會顯示上一條命令,輸入左方向鍵,可以將游標移動到左側。但現實和我們的預期不同,什麼原因?
這里涉及到了一點點關於輸入設備的歷史原因,簡單來說就是需要有個模塊來對用戶的輸入進行轉義。回到本文的重點,就是我們編譯安裝的時候缺少了 readline 這個模塊。既然已經發現了問題,那解決的辦法其實很簡單
➜ yum install readline-devel
安裝完成後,重復上面的步驟,編譯&&安裝即可。
再檢查
前面只是解決了方向鍵輸入的問題,但是我提到的那兩個模塊還是 import 不進來,那我們仔細的看看我們的編譯過程的輸出。其中有這樣的一段(依據系統環境的不同,輸出可能也是不一致的)
Python build finished successfully! The necessary bits to build these optional moles were not found: _curses bz2 _dbm _gdbm _lzma _sqlite3 _tkinter readline To find the necessary bits, look in setup.py in detect_moles() for the mole's name.
按照上面的提示,很明顯,我們缺少了一些(可選的)模塊,這些模塊假如你覺得自己不會用到,那也可以不理會它。這些模塊,我用到的會多一些,甚至是那個一般人都不會碰的 TK 模塊 哈哈哈。解決方式就只是裝一下對應的模塊即可。
➜ # 解決 import bz2 報錯 ➜ yum install bzip2-devel ➜ # 解決 import curses 報錯 ➜ yum install ncurses-devel ➜ # 解決 import sqlite3 報錯 ➜ yum install sqlite-devel ➜ # 解決 _dbm _gdbm 缺失提醒 ➜ yum install gdbm-devel ➜ # 解決 _lzma 缺失提醒 ➜ yum install xz-devel ➜ # 解決 _tkinter 缺失提醒 ➜ yum install tk-devel ➜ # 解決 readline 缺失提醒及方向鍵行為非預期的問題 ➜ yum install readline-devel
當這些模塊都裝完,重新編譯會發現提醒已經消失,安裝即可。
使用 rpm 包進行安裝
先來介紹一下 IUS 這個社區,名字的全寫是【Inline with Upstream Stable】取首字母,它主要是一個提供新版本RPM包的社區。具體使用可以查看官方文檔 簡單說來就只要按下面的命令操作即可。
➜ yum -y install
添加 IUS 之後,先創建緩存元數據,再進行安裝即可
➜ yum makecache ➜ yum install python36u ➜ yum -y install python36u-pip ➜ yum -y install python36u-devel
完成後直接終端輸入 python3 即可。
環境配置
上面只是寫了 Python 的安裝,如果是使用 RPM 的方式安裝的話,那直接是可用的。但如果是源碼編譯的,總不至於每次都輸入一大串路徑吧。所以解決方法很簡單,加個鏈接即可。
➜ ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
另外,當系統中存在多個 Python 版本的時候,盡量去避免環境污染。我個人比較推薦使用 virtualenv 創建獨立的虛擬環境,我日常中也是這樣用的。不過,當我們安裝完 Python 3.6 後,可以直接執行下面的命令進行虛擬環境的創建。
➜ python3 -m venv py3 ➜ source py3/bin/activate (py3) ➜ python -V Python 3.6.1
總結
CentOS 7 上安裝Python 3.6 主要有兩種方式,源碼編譯和安裝 RPM 包。
對於想快速使用源碼配置環境但並不想關心具體原因的讀者,可以直接使用我GitHub上提供的這個腳本進行安裝
另外Python 3.6 可直接使用 python3 -m venv venv_name 創建虛擬環境。
5. 如何在虛擬機上搭建CentOS7環境
在VMware中新建虛擬機,在新建虛擬機向導中,選擇「自定義(高級)」選項,滑鼠單擊「繼續」按鈕。2選擇VMware的版本workstation9.0(VMware版本對硬碟、內存、cpu等硬體的支持大小數量不同,選擇不同版本可以看到差別;對於虛擬機的移動和復制,也要考慮VMware版本),滑鼠單擊「繼續」按鈕。3操作系統安裝從:選擇「我以後再安裝操作系統」,滑鼠單擊「繼續」按鈕。4客戶機操作系統我們選擇「Linux」選項,版本選擇「CentOS」,滑鼠單擊「繼續」按鈕。5在「虛擬機名稱」下填寫名稱如「CentOS」,在「位置」下填寫虛擬機保存的路徑如「G:\test」,滑鼠單擊「繼續」按鈕。6選擇虛擬機處理器的個數和核數,滑鼠單擊「繼續」按鈕。7調整虛擬機內存大小,可以輸入數字,也可以用滑條調整;本教程設置內存大小為1024MB;滑鼠單擊「繼續」按鈕。8虛擬機網路連接選擇「使用網路地址翻譯(NAT)」,滑鼠單擊「繼續」按鈕。9虛擬機I/O控制器選擇「SCSI控制器:LSI(邏輯)」,滑鼠單擊「繼續」按鈕。10虛擬機磁碟選擇「創建一個新的虛擬磁碟」,滑鼠單擊「繼續」按鈕。11虛擬機磁碟介面選擇「SCSI」,滑鼠單擊「繼續」按鈕。12設置虛擬機最大磁碟空間「20G」,用單個文件存儲虛擬磁碟(在復制或移動虛擬機時文件個數少),滑鼠單擊「繼續」按鈕。13設置虛擬機磁碟文件名稱「CentOS.vmdk」,滑鼠單擊「繼續」按鈕。14在這里使用滑動條查看到我們對虛擬機的配置,確認後,滑鼠單擊「完成」按鈕。
6. 如何在centos7搭建web伺服器
首先,需要在centos7上面配置網站所需要的環境。
如果說你不會配置網站環境,那可以安裝webmin、kloxo、cp等面板來使用。
因為這樣的面板在配置好之後都是配置好網站所需要的阿帕奇、mysql等環境的。
7. centos7怎麼編譯安裝gcc-c++
方法/步驟
1
yum install glibc-static libstdc++-static -y
安裝c和c++的靜態庫(據說如果系統中缺少libc.a和libstdc++.a編譯時會出錯,但是我沒有那麼多閑情逸致去試,實踐過的朋友可以回復一下,分享一下經驗,讓大家都長長見識)
2
下載解壓gcc,我的gcc目錄是gcc-4.8.0
3
進入gcc目錄,執行:
./contrib/download_prerequisites
這個神奇的腳本文件會幫我們下載、配置、安裝那三個依賴的庫。可以節約我們大量的時間和精力。
4
你以為這三個庫自動下載了、自動make install了就沒事了嗎?錯!
很多人在編譯gcc的時候出現各種奇奇怪怪的錯誤就是這步沒有做好。
它們還不在.so文件的搜索路徑裡面,需要加進去,最後切記切記一定要執行一下ldconfig。
大致做法為:
1,找到你的共享庫文件被install到哪個目錄了(updatedb+locate命令)。
2,如果你的庫不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享庫的路徑
3,如果在2中添加了共享庫路徑,切記要執行一下ldconfig,更新響應cache文件讓系統能找到你的共享庫。
5
建立臨時目錄,這個目錄用以存放編譯時的大量臨時文件,是文檔要求中必須的。
我是在gcc-4.8.0下建立了一個名為gcc-build-4.8.0的目錄,進入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc編譯選項
6
強烈建議閱讀INSTALL目錄下的說明文檔,尤其是configure.html,以確定你的編譯選項。
比較基本的選項有--enable-languages,說明你要讓你的gcc支持那些語言,--disable-multilib不生成編譯為其他平台可執行代碼的交叉編譯器。--disable-checking生成的編譯器在編譯過程中不做額外檢查,也可以使用--enable-checking=xxx來增加一些檢查。
網上還說了什麼--with-gmp、--with-mpfr、--with-mpc這三個選項,但是如果你3,4步做好了,就不要配了,反之你還是老實點吧別抱僥幸心理了。
調用gcc-4.8.0目錄下的configure文件:
例如:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7
執行
../make #不解釋
執行編譯命令(#在8核的虛擬機上進行編譯,每個核分配2個編譯任務)
make -j16
make install編譯過程CPU 核基本100%佔用,整個編譯用時11分50秒。
檢查gcc版本
#你就等吧少年,建議晚上睡覺前做
當然上面三步一定要在前一步順利結束的情況下進行,如果哪一步出錯了,結果都顯示error了,就不要再做後面的了。在shell的輸出里搜索"error"看具體的出錯點是什麼,、google一下為什麼。
如果你求穩的話,可以在make install之前先make check一下。
8. centos7中怎麼搭建java環境
查看CentOS自帶JDK是否已安裝。
◆輸入:yum list installed |grep java。
若有自帶安裝的JDK,如何卸載CentOS系統自帶Java環境?
◆卸載JDK相關文件輸入:yum -y remove java-1.7.0-openjdk*。
◆卸載tzdata-java輸入:yum -y remove tzdata-java.noarch。
當結果顯示為Complete!即卸載完畢。
註:「*」表示卸載掉java 1.7.0的所有openjdk相關文件。
檢查CentOS系統網路連接是否正常。
◆使用yum方式安裝需要連接網路下載Java相應安裝文件,故此需要使用ping命令測試網路;如:ping 網路URL即可。
查看yum庫中的Java安裝包。
◆輸入:yum -y list java* 。
使用yum安裝Java環境。
◆輸入:yum -y install java-1.7.0-openjdk* ,以yum庫中java-1.7.0為例。
當結果顯示為Complete!即安裝完畢。
註:「*」表示將java-1.7.0的所有相關Java程序都安裝上。
查看剛安裝的Java版本信息。
◆輸入:java -version 可查看Java版本;
◆輸入:javac 可查看Java的編譯器命令用法(可略)。
9. centos7 怎麼搭建環境
直接安裝系統就可以了
Centos7是一個伺服器的操作系統如果需要伺服器環境的話,可以直接安裝這個系統就可以了,不需要任何的其他環境搭建。
如果要開發一些軟體的話,直接在系統上安裝相關的軟體環境即可。