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、可以看到下圖表示安裝成功:
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那一行註釋去掉如下圖所示:
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指定用戶就行了,必須是存在的操作用戶!
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
#如下圖所示:
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的配置