【CentOS】 Linux 7.4.1708 (Core)系統部署php7.2+mysql5.7+nginx1.15.8+redis5.0.4+mongodb4.0.9環境

1、首先要創建一個用戶(一般不使用root用戶權限進行環境部署)

useradd www #創建一個用戶名爲www的用戶 默認組也是www
passwd www #爲這個用戶初始化密碼,linux會判斷密碼複雜度,不過可以強行忽略

2、使用root權限給www用戶授權並且切換新用戶登錄

1、給/etc/sudoers文件添加讀寫權限:

chmod -v u+w /etc/sudoers 

2、編輯/etc/sudoers文件:

vim /etc/sudoers #如果沒有vim就使用vi
## Allow root to run any commands anywher  
root    ALL=(ALL)       ALL  
www  ALL=(ALL)       ALL  #這個是新增的用戶

3、按Esc鍵然後:wq保存退出,這時候要記得將寫權限收回:

chmod -v u-w /etc/sudoers

4、這時候使用新用戶登錄,使用su:

su www #或者重新連接服務器使用www賬號登錄就可以了

3、首先配置mysql5.7YUM源

1、下載mysql源安裝包(可以用我下面的也可以到官網去下載自己想要的YUM源rpm安裝包:http://dev.mysql.com/downloads/repo/yum/ )

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2、安裝mysql源 --sudo 爲申請root用戶權限 然後輸出自己的密碼便可以在短期之內不需要再輸入密碼:

sudo yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、檢查mysql源是否安裝成功:

sudo yum repolist enabled | grep "mysql.*-community.*"

3.1、可以看到下圖表示安裝成功:
mysql源安裝成功截圖

4、安裝MySQL

sudo yum install mysql-community-server

1、啓動MySQL服務:

sudo systemctl start mysqld

2、查看MySQL的啓動狀態:

sudo systemctl status mysqld #如果Active: 爲active (running) 則表示已經啓動其他狀態則爲失敗然後排查失敗原因

4、開機啓動:

sudo systemctl enable mysqld
sudo systemctl daemon-reload

5、修改root本地登錄密碼
mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。
通過下面的方式找到root默認密碼:

grep 'temporary password' /var/log/mysqld.log

自動生成的密碼

6、然後登錄mysql進行修改:
注意:mysql5.7默認安裝了密碼安全檢查插件(validate_password)
默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。
否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤

mysql -uroot -p #然後回車輸入數據庫密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; #修改新密碼

7、添加遠程登錄用戶
默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql
必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,爲了安全起見,我添加一個新的帳戶:

GRANT ALL PRIVILEGES ON *.* TO 'MySQL賬號'@'%' IDENTIFIED BY 'MySQL密碼' WITH GRANT OPTION;

8、解決MySQL數據查詢出現GROUP BY語句出錯,提示錯誤代碼1055
找到MySQL安裝目錄下的my.cnf
在sql_mode 中去掉only_full_group_by , 即:
如果沒有sql_mode加上便可
修改完成之後,重啓數據庫,然後再打開,再次查詢就正常了。

sudo find / -name my.cnf #尋找my.cnf文件的命令
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

9、遠程連接Mysql時執行語句很慢的解決方案:
找到MySQL安裝目錄下的my.cnf:

[mysqld]
skip-name-resolve #加入這一條代碼即可

10、默認配置文件路徑:
配置文件:/etc/my.cnf
日誌文件:/var/log//var/log/mysqld.log
服務啓動腳本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid

5、安裝php7.2環境

1、創建環境目錄:

cd /
mkdir servers #創建一個servers文件夾
cd servers #進入

1、下載安裝php需要的擴展:

sudo yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel  #一鍵安裝四個依賴
sudo yum install -y tar 
sudo yum -y install bzip2
sudo yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y

2、開始安裝:

wget https://www.php.net/distributions/php-7.2.17.tar.gz  #下載安裝包
tar -zxvf php-7.2.17.tar.gz  #解壓下載的安裝包
cd php-7.2.17 #進入解壓後的文件
**#注意.configure的prefix參數爲你要安裝的安裝目錄並且安裝目錄不能在解壓出來的php7.2.17文件裏面但是可以同級目錄**
**#注意你要安裝的目錄文件必須存在否則安裝必將失敗**
sudo ./configure --prefix=/usr/local/php720 --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=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo

3、編譯安裝:

sudo make && make install

4、調整php配置:

cd /usr/local/php720/etc  #注意目錄不要寫錯,是你安裝後的目錄不是解壓的目錄
cp php-fpm.conf.default php-fpm.conf #複製出一份php-fpm.conf文件
cd /usr/local/php720/etc/php-fpm.d #注意目錄不要寫錯,是你安裝後的目錄不是解壓的目錄
cp www.conf.default www.conf  #複製出一份www.conf文件
cd /usr/local/php720/etc/php-fpm.d
cp /servers/php7.2.17/php.ini-development /usr/local/php720/sbin/php.ini  #從解壓目錄(**注意是解壓目錄**)複製一份開發環境到安裝目錄的sbin文件
sudo vi www.conf
user = nobody
group = nobody
修改爲:
user = 當前操作的賬號
group = 當前操作的賬號所在組
sudo vi /usr/local/php720/etc/php-fpm.conf #修改配置
#將pid那一行註釋去掉如下圖所示:

pid註釋成功圖

5、然後啓動php-fpm:

#注意目錄不要寫錯,是你安裝後的目錄不是解壓的目錄
/usr/local/php720/sbin/php-fpm 

6、設置php7.2環境變量:

sudo vi /etc/profile
#這兩行代碼要加在文件末尾路徑不要寫錯,寫你php安裝目錄
PATH=$PATH:/usr/local/php/bin
export PATH
#然後便可以按Esc鍵輸入:wq保存退出然後再執行下面命令刷新配置
sudo source /etc/profile
php -v #便可以看到php版本號了

7、設置軟鏈接防止php執行exec失敗:

sudo ln -s /usr/local/php/bin/php /usr/bin/php #注意第一個參數的路徑寫自己的,其他不變
cd /usr/bin 
ls -la #查看所有所屬
#有下圖這個php則表示正常

軟鏈接添加成功示例圖

8、此時還需要配置php系統服務:

cd /usr/lib/systemd/system
sudo vi php-fpm.service

8.1、寫入以下配置(注意路徑要改成自己的另外註釋千萬記住要刪除.這裏面不識別)):

#注意路徑要改成自己的(註釋千萬記住要刪除.這裏面不識別)
[Unit]
Description=The php-fpm server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/www/server/php/var/run/php-fpm.pid #添加你的pid文件所在目錄 (註釋千萬記住要刪除.這裏面不識別)
ExecStartPre=/usr/bin/rm -f /www/server/php/var/run/php-fpm.pid #這個-f後面的路徑改成自己的目錄(註釋千萬記住要刪除.這裏面不識別)
ExecStart=/www/server/php/sbin/php-fpm #這個改成自己的目錄(註釋千萬記住要刪除.這裏面不識別)
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

8.2、啓動php-fpm服務(注意:如果啓動不了,則表示上一步的配置路徑出現錯誤,去仔細排查):

sudo pkill php-fpm  #殺掉進程
sudo systemctl daemon-reload  #重新加載配置
sudo systemctl enable php-fpm.service  #設置開機啓動服務
sudo systemctl start php-fpm  #啓動php-fpm服務
sudo systemctl stop php-fpm  #停止php-fpm服務
sudo systemctl restart php-fpm  #重啓php-fpm服務
sudo systemctl reload php-fpm  #加載php-fpm配置

6、安裝nginx1.15.8環境

1、下載nginx的tar包:

mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.15.8.tar.gz 
tar -xvf nginx-1.15.8.tar.gz 

2、安裝nginx:

cd /usr/local/nginx/nginx-1.15.8 #進入nginx的解壓目錄
./configure --prefix=/usr/local/tools/nginx #prefix=指定你要安裝的目錄,目錄必須存在,否則會出現問題
make && make install #編譯並且執行安裝

3、配置nginx文件:

sudo vim /usr/local/nginx/conf/nginx.conf  #寫自己的安裝目錄

如下圖所示:去掉箭頭指向的註釋以及換成自己想要的目錄user指定用戶就行了,必須是存在的操作用戶!
nginx配置

4、配置nginx.conf支持php(注意加上index.php,並且加上下面示例代碼無需作修改,必須在server節點裏面):

location ~ \.php(.*)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;
        }

配置信息

4.1、寫入一個index.php文件:

cd /usr/local/nginx/html
sudo vi index.php
#如下圖所示:

寫入phpinfo文件

5、啓動nginx:

sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  #目錄均爲安裝目錄,填寫自己的便好
sudo systemctl restart php-fpm  #重啓php-fpm服務

6、驗證,若無法打開關閉防火牆看看是否是防火牆問題,若正常打開則表示成功:

6.1、防火牆方案1:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent #開啓80
sudo systemctl restart firewalld  #重啓防火牆

6.2、防火牆方案2:

sudo systemctl stop firewalld  #或者直接關閉防火牆

在這裏插入圖片描述在這裏插入圖片描述

7、配置nginx系統服務:

sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx #注意第一個參數的路徑寫自己的,其他不變
cd /usr/lib/systemd/system
sudo vi nginx.service

7.1、寫入以下配置(注意路徑要改成自己的另外註釋千萬記住要刪除.這裏面不識別)):

#注意路徑要改成自己的(註釋千萬記住要刪除.這裏面不識別)
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/nginx.pid  #添加你的pid文件所在目錄 (註釋千萬記住要刪除.這裏面不識別)
ExecStartPre=/usr/bin/rm -f /usr/local/nginx/nginx.pid   #這個-f後面的路徑改成自己的目錄(註釋千萬記住要刪除.這裏面不識別)
ExecStartPre=/usr/bin/nginx -t 
ExecStart=/usr/bin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

7.2、啓動nginx服務(注意:如果啓動不了,則表示上一步的配置路徑出現錯誤,去仔細排查):

sudo pkill nginx  #殺掉進程
sudo systemctl daemon-reload  #重新加載配置
sudo systemctl enable nginx.service  #設置開機啓動服務
sudo systemctl start nginx  #啓動nginx服務
sudo systemctl stop nginx  #停止nginx服務
sudo systemctl restart nginx  #重啓nginx服務
sudo systemctl reload nginx  #加載nginx配置

7、安裝redis5.0.4環境

1、下載redis:

wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar xzf redis-5.0.4.tar.gz
cd redis-5.0.4
make

2、啓動redis-server服務:

#vim 命令後的目錄是你安裝後的目錄
vim /usr/local/redis/etc/redis.conf
daemonize=yes  #修改daemonize 改爲 yes (允許後臺啓動)
/www/server/redis-5.0.4/src/redis-server  /www/server/redis-5.0.4/redis.conf  #注意換成自己的安裝目錄

3、開機自動啓動redis-server服務:

cd /etc/rc.d/
sudo chmod 777 rc.local
echo "/usr/local/redis/bin/redis-server  /usr/local/redis/etc/redis.conf" >> /etc/rc.d/rc.local  #注意>>前面的都換成自己的安裝目錄後面的不要動
sudo chmod 644 rc.local #用完之後記得恢復到原來的權限

4、配置redis系統啓動服務:

cd /lib/systemd/system/
sudo vi redis.service

4.1、寫入以下配置(注意:註釋要刪掉):

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/redis.pid  #注意:需要和redis.conf配置文件中的信息一致
ExecStart=/www/server/redis-5.0.4/src/redis-server /www/server/redis-5.0.4/redis.conf  #注意目錄換成自己的
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

4.2、刷新配置以及命令集合:

sudo pkill redis  #殺掉進程
sudo systemctl daemon-reload  #刷新系統配置
sudo systemctl enable redis.service  #設置開機啓動
sudo systemctl start redis  #啓動redis
sudo systemctl stop redis  #關閉redis
sudo systemctl restart redis  #重啓redis
sudo systemctl status redis  #查看redis狀態
sudo systemctl reload redis  #刷新redis的配置

8、安裝mongodb4.0.9環境

1、下載mongodb:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-4.0.9.tgz
tar zxvf mongodb-linux-x86_64-amazon-4.0.9.tgz
sudo mv mongodb-linux-x86_64-amazon-4.0.9 /www/server/mongodb
cd /www/server/mongodb/
sudo mkdir data
cd data
sudo mkdir db
sudo mkdir log
sudo vi /www/server/mongodb/bin/mongodb.conf

1.1、配置以下信息

# 數據庫文件路徑
dbpath=/www/server/mongodb/data/db/
# 日誌文件路徑
logpath=/www/server/mongodb/data/log/mongodb.log
# 是否追加日誌
logappend=true
# 端口
port=27017
# 是否後臺程序啓動
fork=true
# 是否啓動授權認證
auth=false

1.2、配置系統啓動服務

sudo vi /lib/systemd/system/mongodb.service

1.3、寫入以下配置(注意:註釋要刪掉):

[Unit]

Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/www/server/mongodb/bin/mongod --config /www/server/mongodb/bin/mongodb.conf  #注意換成自己的目錄
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/www/server/mongodb/bin/mongod --shutdown --config /www/server/mongodb/bin/mongodb.conf  #注意換成自己的目錄
PrivateTmp=true

[Install]
WantedBy=multi-user.target

1.4、刷新配置以及命令集合:

sudo systemctl daemon-reload  #刷新系統配置
sudo systemctl enable mongodb.service  #設置開機啓動
sudo systemctl start mongodb  #啓動mongodb
sudo systemctl stop mongodb  #關閉mongodb
sudo systemctl restart mongodb  #重啓mongodb
sudo systemctl status mongodb  #查看mongodb狀態
sudo systemctl reload mongodb  #刷新mongodb的配置

9、遇到困難可以評論(有信必回)小軒微信17382121839。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章