lnmp是什么意思,企業架構之LNMP

 2023-12-01 阅读 29 评论 0

摘要:企業架構之LNMP 只是自己記錄一個安裝配置思路,具體軟件有需要可以留言我私發~ 1、mysql源碼編譯安裝 #!/bin/bash #源碼編譯安裝MySQL mysql_install() {#1、創建用戶 `id mysql` &>/dev/null [ $? -ne 0 ] && useradd -s /sbin/nologin -M my

企業架構之LNMP

只是自己記錄一個安裝配置思路,具體軟件有需要可以留言我私發~

1、mysql源碼編譯安裝

#!/bin/bash
#源碼編譯安裝MySQL
mysql_install() {#1、創建用戶
`id mysql` &>/dev/null
[ $? -ne 0 ] && useradd -s /sbin/nologin -M mysql
#2、解決依賴
yum install -y cmake            #必裝
yum install -y ncurses-devel   #必裝
yum install -y gcc gcc-c++    #必裝
yum install -y net-tools
#3、編譯安裝
cd /root/soft
tar zxvf mysql-5.6.33.tar.gz
cd mysql-5.6.33
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=bundled
make && make install
#配置文件
rm -rf /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
#授權并初始化數據庫
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
#配置服務、自啟動和環境變量
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
chkconfig --add mysqld
echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
#刪除匿名用戶
#設置root域名的密碼
rpm -qa|grep expect
if [ $? -ne 0 ];thenyum -y install expect
fi
#導入環境變量PATH
export PATH=/usr/local/mysql/bin:$PATH
#初始化root密碼 刪除匿名用戶
echo '#!/usr/bin/expect
set timeout 60
spawn mysql_secure_installation
expect {
"enter for none" { send "\r"; exp_continue}
"Y/n" { send "Y\r" ; exp_continue}
"password" { send "123456\r"; exp_continue}
"Cleaning up" { send "\r"}
}
interact ' > mysql_secure_installation.exp
chmod +x mysql_secure_installation.exp
./mysql_secure_installation.exp
}
#腳本開始時間
start_time=`date +%s`
#執行的腳本代碼
mysql_install
#腳本結束時間
end_time=`date +%s`
#腳本執行花費時間
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

MySQL修改密碼的3種方式

方法一:用SET PASSWORD命令修改

lnmp是什么意思,首先登陸mysql,一般命令格式為:mysql> set password for 用戶名@localhost = password(‘新密碼’);

例子:

mysql> set password for root@localhost = password('123456'); 

方法二:用mysqladmin修改

公司的管理架構、格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼

例子:

mysqladmin -uroot -p123456 password 123 

這個命令就是將uroot這個用戶的密碼由123456改成了123

公司基本架構,方法三:用UPDATE直接編輯user表

首先登陸mysql

mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 

以上的代碼是將root的密碼更改為123

企業云上架構?以上三種方法都是在記得舊密碼的情況下,如果用戶忘記了密碼,那么該怎么辦呢?
方法四:忘記舊密碼的修改方法

MySQL忘記舊密碼的修改方法

service mysqld stop  #先關閉正在運行的MySQL服務。service mysqld start --skip-grant-tables  #這個指令是讓用戶再次啟動MySQL服務的時候,可以直接跳過權限表認證。輸入mysql回車,如果成功,將進入mysql數據庫連接權限數據庫: use mysql; 改密碼:mysql> update user set password=password('123456')where user='root';(別忘了最后加分號) 。刷新權限(必須步驟):mysql> flush privileges; mysql> exit; 退出mysql使用用戶名root和剛才設置的新密碼登錄。

2、nginx源碼編譯安裝

解壓完不知道編譯需要加哪些參數可以直接先編譯下看報錯提示缺少哪些依賴~
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

自動化安裝腳本

#!/bin/bash
#編譯安裝Nginx
nginx_install(){
#創建軟件運行用戶
`id www` &>>/dev/null
if [ $? -ne 0 ];thenuseradd -s/sbin/nologin -M www
fi
#安裝依賴
yum -y install pcre-devel zlib-devel openssl-devel
#編譯安裝
cd /root/soft
tar xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module && make && make install
}
#腳本開始時間
start_time=`date +%s`
#執行的腳本代碼
nginx_install
#腳本結束時間
end_time=`date +%s`
#腳本執行花費時間
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

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

nginx服務啟動腳本

vim/etc/init.d/nginx 
#!/bin/bash 
#Nginx管理文件位置
EXEC=/usr/local/nginx/sbin/nginx
start(){$EXECif [ $? -eq 0 ];thenecho -e "\033[32m nginx is running \033[0m"fi
}stop(){$EXEC -s quitif [ $? -eq 0 ];thenecho -e "\033[31m nginx is not run \033[0m"fi
}
status(){if [ -f '/usr/local/nginx/logs/nginx.pid' ];thenecho -e "\033[32m nginx is running \033[0m"elseecho -e "\033[31m nginx is not run \033[0m"fi
}
restart(){$EXEC stop$EXEC start
}reload(){$EXEC -s reload
}configtest(){$EXEC -t
}#調用執行
case "$1" in start)start;;stop)stop;;restart)restart;;status)status;;reload)reload;;configtest)configtest;;*)echo '{start|stop|status|restart|reload|configtest}';;
esac

中小型企業架構、加入開機自啟:加入systemctl開機自啟(nginx無法加入chkconfig)

echo"\
[Unit]
Description=nginx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/nginx.service
systemctl enable nginx   #啟動開機自啟,有了該腳本也可以運行systemctl進行管理nginx
用service執行
service nginx start  啟動
service nginx stop
service nginx restart
service nginx reload

nginx一鍵安裝腳本

#!/bin/bash
#編譯安裝Nginx
nginx_install(){
#創建軟件運行用戶
`id www` &>>/dev/null
if [ $? -ne 0 ];thenuseradd -s/sbin/nologin -M www
fi
#安裝依賴
yum -y install pcre-devel zlib-devel openssl-devel
#編譯安裝
cd /root/soft
tar xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module && make && make install
}## 這里很麻煩,要給所有變量跟部分""加轉譯符號\
echo "\
#!/bin/bash
#Nginx管理文件位置
EXEC=/usr/local/nginx/sbin/nginx
start(){\$EXECif [ \$? -eq 0 ];thenecho -e \"\\033[32m nginx is running \\033[0m\"fi
}stop(){\$EXEC -s quitif [ \$? -eq 0 ];thenecho -e \"\\033[31m nginx is not run \\033[0m\"fi
}
status(){if [ -f '/usr/local/nginx/logs/nginx.pid' ];thenecho -e \"\\033[32m nginx is running \\033[0m\"elseecho -e \"\\033[31m nginx is not run \\033[0m\"fi
}
restart(){\$0 stop\$0 start
}reload(){\$EXEC -s reloadecho -e \"\\033[32m nginx reload success! \\033[0m\"
}configtest(){\$EXEC -t
}#調用執行
case \"\$1\" instart)start;;stop)stop;;restart)restart;;status)status;;reload)reload;;configtest)configtest;;*)echo '{start|stop|status|restart|reload|configtest}';;
esac" > /etc/init.d/nginxchmod +x /etc/init.d/nginx#加入systemctl開機自啟(nginx無法加入chkconfig)
echo"\
[Unit]  
Description=nginx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/nginx.servicesystemctl enable nginx#用該腳本啟動service nginx start#腳本開始時間
start_time=`date +%s`
#執行的腳本代碼
nginx_install
#腳本結束時間
end_time=`date +%s`
#腳本執行花費時間
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

shell顏色代碼

#!/bin/bash
echo -e "\033[0m none \033[0m"
echo -e "\033[30m black \033[0m"
echo -e "\033[1;30m dark_gray \033[0m"
echo -e "\033[0;34m blue \033[0m"
echo -e "\033[1;34m light_blue \033[0m"
echo -e "\033[0;32m green \033[0m"
echo -e "\033[1;32m light_green \033[0m"
echo -e "\033[0;36m cyan \033[0m"
echo -e "\033[1;36m light_cyan \033[0m"echo -e "\033[0;31m red \033[0m"
echo -e "\033[1;31m light_red \033[0m"
echo -e "\033[0;35m purple \033[0m"
echo -e "\033[1;35m light_purple \033[0m"
echo -e "\033[0;33m brown \033[0m"
echo -e "\033[1;33m yellow \033[0m"
echo -e "\033[0;37m light_gray \033[0m"
echo -e "\033[1;37m white \033[0m"
echo -e "\033[0m none \033[0m"
echo -e "\033[0m none \033[0m"
echo -e "\033[0m none \033[0m"
echo -e "\033[0m none \033[0m"
echo -e "\033[0m none \033[0m"echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;30m 紅底黑字 \033[0m"
echo -e "\033[42;34m 綠底藍字 \033[0m"
echo -e "\033[43;34m 黃底藍字 \033[0m"
echo -e "\033[44;30m 藍底黑字 \033[0m"
echo -e "\033[45;30m 紫底黑字 \033[0m"
echo -e "\033[46;30m 天藍底黑字 \033[0m"
echo -e "\033[47;34m 白底藍字 \033[0m"
echo -e "\033[4;31m 下劃線紅字 \033[0m"
echo -e "\033[5;31m 紅字在閃爍 \033[0m"
echo -e "\033[8m 消隱 \033[0m "

3、php源碼編譯安裝

自動化安裝腳本

#!/bin/bash
php_install(){
#php編譯安裝
#和nginx使用相同的用戶,如果沒有就創建
`id www` &> /dev/null
[ $? -ne 0 ] && useradd -s /sbin/nologin -M www
#解決依賴
yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel openssl-devel
#解壓
tar xvf php-7.2.12.tar.gz
cd php-7.2.12
#編譯安裝php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts && make && make install
#配置文件初始化
cp php.ini-development /usr/local/php/etc/php.ini
#php-fpm服務配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#php-fpm服務子配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#配置服務及其環境變量
cp /root/soft/php-7.2.12/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
service php-fpm start
chkconfig --add php-fpm
echo 'PATH=/usr/local/php/bin:$PATH' >> /etc/profile
}
#腳本開始時間
start_time=`date +%s`
#執行的腳本代碼
php_install
#腳本結束時間
end_time=`date +%s`
#腳本執行花費時間
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

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

在這里插入圖片描述

nginx配置文件定義php-fpm服務

vim /usr/local/nginx/conf/nginx.conf

在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/188966.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息