centos7.3原始碼安裝常用軟體及相關配置合集

oliver-l發表於2020-10-28

之前在開發過程中,都是使用yum或者寶塔的方式直接安裝相關的軟體,都是一些比較傻瓜式的操作,所以想對常用的開發軟體有個比較深入的理解,所以最近用原始碼安裝的方式重新搭建了一下開發環境,折騰一下,對於學習還是有所幫助的,在此記錄一下相關操作。

nginx原始碼安裝

1.使用wget獲取nginx原始碼

先使用命令建立nginx資料夾
mkdir /usr/local/nginx && cd /usr/local/nginx

再使用wget獲取nginx原始碼,下載1.16.1版本
wget http://nginx.org/download/nginx-1.16.1.tar.gz

centos7.3原始碼安裝及相關配置合集

2.安裝nginx依賴包

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

3.解壓壓縮包

tar -zxvf nginx-1.16.1.tar.gz

4.編譯安裝nginx

cd nginx-1.16.1 && ./configure --prefix=/usr/local/nginx

centos7.3原始碼安裝及相關配置合集

編譯安裝
make && make install

centos7.3原始碼安裝及相關配置合集

5.檢查配置檔案時否正確、檢視版本

/usr/local/nginx/sbin/nginx -t
centos7.3原始碼安裝及相關配置合集

/usr/local/nginx/sbin/nginx -V

centos7.3原始碼安裝及相關配置合集

6.啟動nginx

/usr/local/nginx/sbin/nginx

通過ps -ef | grep nginx檢視nginx已成功啟動

centos7.3原始碼安裝及相關配置合集

通過瀏覽器直接訪問ip

centos7.3原始碼安裝及相關配置合集

7.其他配置

新增nginx環境變數

在/etc/profile檔案末尾新增export PATH=$PATH:/usr/local/nginx/sbin
再執行source /etc/profile命令,執行nginx -t檢視環境變數是否生效

centos7.3原始碼安裝及相關配置合集

php原始碼安裝

1.使用wget獲取php原始碼

先使用命令建立php資料夾
mkdir /usr/local/php && cd /usr/local/php

再使用wget下載php7.2原始碼

wget https://www.php.net/distributions/php-7.2.34.tar.gz

centos7.3原始碼安裝及相關配置合集

2.安裝php所需依賴

yum -y install libxml2* openssl* libcurl* libjpeg* libpng* freetype* libmcrypt*

3.解壓php壓縮包

tar -xzvf php-7.2.34.tar.gz

4.編譯安裝php

進入php目錄
cd php-7.2.34

php的安裝目錄指定,安裝php的一些模組
./configure --prefix=/usr/local/php --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo

centos7.3原始碼安裝及相關配置合集

配置完成後會提示: Thank you for using PHP.

編譯和安裝php
make && make install

centos7.3原始碼安裝及相關配置合集

5.新增配置檔案

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

6.啟動php-fpm

/usr/local/php/sbin/php-fpm

如果直接啟動的話,會報錯,報錯資訊為沒有www使用者,所有需要建立

centos7.3原始碼安裝及相關配置合集

建立www使用者

useradd www

usermod -G www www

再執行/usr/local/php/sbin/php-fpm命令,沒有報錯

再通過ps -ef | grep php檢視程式是否存在

centos7.3原始碼安裝及相關配置合集

7.其他配置

新增環境變數,在/etc/profile檔案末尾追加 export PATH=$PATH:'/usr/local/php/bin/'

然後執行source /etc/profile使修改生效

再命令中使用php -v,顯示php版本則環境變數生效

centos7.3原始碼安裝及相關配置合集

新增php配置檔案
cp /usr/local/php/php-7.2.34/php.ini-development /usr/local/php/etc/php.ini

修改nginx.conf配置檔案,在server程式碼中新增以下資訊

location ~ \.php$ {
            root           /www/test;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root;
            include        fastcgi_params;
        }

重啟nginx服務

使用命令建立目錄mkdir /www/test

在該目錄下建立index.php檔案,檔案內容為

<?php 
phpinfo();
?>

通過瀏覽器訪問index.php,發現出錯,無許可權訪問

centos7.3原始碼安裝及相關配置合集

檢視nginx錯誤日誌cat /usr/local/nginx/logs/error.log

centos7.3原始碼安裝及相關配置合集

php.ini配置檔案中,設定cgi.fix_pathinfo=1

過載php服務,並重新啟動nginx

使用瀏覽器訪問,可成功訪問到頁面,表示nginx收到請求已轉發給php-fpm處理

centos7.3原始碼安裝及相關配置合集

php擴充套件原始碼安裝

以swoole擴充套件為例

1.獲取swoole擴充套件原始碼
cd /usr/local/php && wget wget https://github.com/swoole/swoole-src/archive/v4.5.6.tar.gz

centos7.3原始碼安裝及相關配置合集

2.解壓壓縮包

tar -zxvf v4.5.6.tar.gz

3.編譯安裝

進入檔案目錄cd swoole-src-4.5.6

使用安裝 php 時生成的 phpize 來生成 configure 配置檔案/usr/local/php/bin/phpize

執行錯誤Cannot find autoconf. Please check your autoconf installation and the

centos7.3原始碼安裝及相關配置合集

需要安裝autoconf,使用命令yum install autoconf -y

安裝完成後重新執行/usr/local/php/bin/phpize

centos7.3原始碼安裝及相關配置合集

執行配置./configure --with-php-config=/usr/local/php/bin/php-config

centos7.3原始碼安裝及相關配置合集

安裝編譯make && make install

centos7.3原始碼安裝及相關配置合集

4.修改php.ini配置

這裡使用絕對路徑,加入內容extension=/usr/local/php/swoole-src-4.5.6/modules/swoole.so

這裡遇到了個坑,php.ini沒有放對位置,使用命令php --ini檢視php.ini檢索位置,並把php.ini檔案放在/usr/local/php/lib目錄下,才會生效

centos7.3原始碼安裝及相關配置合集

5.重啟php,nginx服務

檢視phpinfo(),看到swoole擴充套件已開啟
centos7.3原始碼安裝及相關配置合集

mysql原始碼安裝

1.使用wget獲取mysql原始碼

先使用命令建立mysql資料夾
mkdir /usr/local/mysql && cd /usr/local/mysql

獲取mysql原始碼
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.30.tar.gz

centos7.3原始碼安裝及相關配置合集

2.安裝mysql所需依賴

yum install -y cmake libaio gcc-c++ bison-devel ncurses-devel bison perl perl-devel perl perl-devel ncurses-devel

3.解壓壓縮包

新增mysql組及使用者
groupadd mysql
useradd -r -g mysql mysql

解壓壓縮包
tar -zvxf mysql-boost-5.7.30.tar.gz

4.編譯安裝mysql

進行目錄cd mysql-5.7.30

cmake編譯
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

設定許可權
chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data

編譯安裝,時間可能會比較久
make && make install

centos7.3原始碼安裝及相關配置合集

5.初始化mysql

進入bin目錄cd /usr/local/mysql/bin

./mysqld --user=www --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

初始化完成,並給root使用者生成了臨時密碼,這裡要把密碼記錄下來,稍後需要使用

centos7.3原始碼安裝及相關配置合集

複製mysql服務啟動指令碼

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

執行service mysqld start啟動mysql服務會報錯

centos7.3原始碼安裝及相關配置合集

因為沒有路徑也沒有許可權,所以建立此路徑並授權給mysql使用者

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

再次執行service mysqld start依然報錯

centos7.3原始碼安裝及相關配置合集

var/lib/mysql目錄不存在,首要先建立:
mkdir /var/lib/mysql

並新增許可權為777
chmod 777 /var/lib/mysql

刪除/etc/my.cnf檔案
rm -f /etc/my.cnf

最後執行service mysqld start,啟動成功

centos7.3原始碼安裝及相關配置合集

6.登入mysql

進入mysql bin目錄cd /usr/local/mysql/bin

執行./mysql -uroot -p登入

centos7.3原始碼安裝及相關配置合集

登入後需要修改密碼

set password for root@localhost = password('123456');
centos7.3原始碼安裝及相關配置合集

賦予許可權並設定可以遠端訪問

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

重新整理許可權

FLUSH PRIVILEGES;

7.其他配置

新增環境變數,在/etc/profile檔案末尾追加 export PATH=$PATH:'/usr/local/mysql/bin'

然後執行source profile

再命令中使用mysql –version,顯示mysql版本則環境變數生效

centos7.3原始碼安裝及相關配置合集

redis原始碼安裝

1.使用wget獲取redis原始碼

wget http://download.redis.io/releases/redis-5.0.3.tar.gz

redis相關學習

2.在/usr/local下新建資料夾redis將redis-3.0.0.tar.gz拷貝到/usr/local/redis中

mkdir /usr/local/redis && cp /root/redis-5.0.3.tar.gz /usr/local/redis/redis-5.0.3.tar.gz

3.解壓壓縮包

chmod +x /usr/local/redis/redis-5.0.3.tar.gz && tar -zxvf /usr/local/redis/redis-5.0.3.tar.gz

4.進入解壓後的目錄中進行編譯 make

cd /usr/local/redis/redis-5.0.3 && make

redis相關學習

5.完成編譯後進行安裝

make PREFIX=/usr/local/redis install

redis相關學習

安裝完後會在/usr/local/redis下出現一個bin目錄,bin目錄中就是我們要使用的內容

redis相關學習

6.啟動redis服務

前端模式啟動服務端:./redis-server

redis相關學習

可以再開一個視窗啟動客戶端進行儲存資料測試:./redis-cli

redis相關學習

後端模式啟動服務端

啟動後自動在後臺執行,與ssh視窗是否關閉無關(需要配置)

修改redis.conf配置檔案 redis.conf是redis的配置檔案,redis.conf在redis原始碼目錄。

redis相關學習

將redis.conf配置檔案拷貝到bin目錄下,切換到bin目錄下

cp /usr/local/redis/redis-5.0.3/redis.conf /usr/local/redis/bin

redis相關學習

發現許可權為只讀,修改redis.conf的許可權

chmod 777 redis.conf

由於配置檔案中預設為前端模式啟動,需手動編輯修改配置檔案中內容:vi redis.conf ,找到daemonize no

修改為yes,即是用後端模式啟動
redis相關學習

進行後端模式啟動:./redis-server redis.conf

然後檢視是否成功啟動服務:ps -aux|grep redis

redis相關學習

至此,成功的採用後端模式啟動了redis服務,無論ssh視窗是否關閉,服務將一直在後臺自動執行

7.停止redis服務

方式一:查詢到執行的redis服務的程式號然後強制停止服務(不建議採用此方式,線上正在儲存資料時採用強制關閉會丟失資料)

方式二:使用客戶端工具關閉:./redis-cli shutdown

8.其他redis配置

設定密碼,找到requirepass這一行,修改為你想要的登入密碼

redis相關學習

設定完成密碼後,需要通過命令引數登入

./redis-cli -h 127.0.0.1 -p 6379 -a passwd

redis相關學習

這裡會發出警告,表示密碼不安全,也可通過直接輸入./redis-cli

登入後進行密碼認證,若沒有密碼認證,將無許可權操作任何指令

redis相關學習

配置redis外網訪問,首先要防火牆開啟redis預設埠6379

在配置檔案中,修改bind配置為0.0.0.0表示所有ip都可以訪問,當然也可以指定ip

centos原始碼安裝合集

配置完成後,重啟redis服務

使用redis客戶端連線工具連線redis,可成功訪問

centos原始碼安裝合集

memcached原始碼安裝

1.使用wget獲取memcached原始碼

先使用命令建立memcached資料夾
mkdir /usr/local/memcached && cd /usr/local/memcached

獲取memcached原始碼
wget http://www.memcached.org/files/memcached-1.6.8.tar.gz

centos7.3原始碼安裝及相關配置合集

2.安裝依賴

yum -y install libevent libevent-devel

3.解壓壓縮包

tar -zxvf memcached-1.6.8.tar.gz

4.編譯安裝

進入檔案目錄cd memcached-1.6.8

配置./configure --prefix=/usr/local/memcached --prefix=/usr/local/memcached/

centos7.3原始碼安裝及相關配置合集

編譯安裝make && make install

5.啟動memcached

啟動memcached/usr/local/memcached/bin/memcached -m 10 -u root &

檢視memcached程式ps -ef | grep memcached
centos7.3原始碼安裝及相關配置合集

node.js二進位制安裝

1.使用wget獲取node.js原始碼

先使用命令建立node資料夾
mkdir /usr/local/node && cd /usr/local/node

再使用wget獲取node.js原始碼

wget https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz

centos7.3原始碼安裝及相關配置合集

2.解壓壓縮包

tar -xvf node-v14.15.0-linux-x64.tar.xz

3.配置環境

ln -s /usr/local/node/node-v14.15.0-linux-x64/bin/npm /usr/local/bin/
ln -s /usr/local/node/node-v14.15.0-linux-x64/bin/node /usr/local/bin/

4.檢查是否安裝成功

node -v

npm -v

centos7.3原始碼安裝及相關配置合集

一鍵安裝指令碼

敬請期待!!!!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章