LNMP一键安装脚本
2023-02-26 12:28:02 时间
#!/bin/bash # name: Install nginx service. # # user path="/server/packages" nginx_package="nginx-1.17.10" mysql_user=mysql mysql_package=mysql-5.5.62 mysql_path=/usr/local/mysql php_package="php-5.6.38" nginx_init(){ if [ ! -d $path ];then mkdir -p $path fi if [ ! -e ${path}/${nginx_package}.tar.gz ];then wget -P ${path}/ http://172.16.0.7/packages/${nginx_package}.tar.gz &>/dev/null fi } nginx_install(){ id nginx &>/dev/null [ $? -ne 0 ]&&{ useradd -r -s /sbin/nologin nginx &>/dev/null } yum install -y gcc* pcre-devel net-tools opensll lsof openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel &>/dev/null [ $? -ne 0 ]&&{ echo "Installation dependency failed." exit 1 } tar zxf /server/packages/nginx-1.17.10.tar.gz -C /server/packages/ &>/dev/null if [ $? -eq 0 ] then echo "Installing..." cd /server/packages/nginx-1.17.10 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module &>/dev/null if [ $? -eq 0 ];then make &> /dev/null make install &> /dev/null [ $? -eq 0 ]||{ echo "nginx install failed." exit 1 } else echo -e "33[31mconfigure falied.33[0m" fi echo -e "33[32mnginx install success.33[0m" fi } #mysql_user=mysql #mysql_package=mysql-5.5.62 #mysql_path=/usr/local/mysql mysql_init(){ if [ ! -e /server/packages/${mysql_package}.tar.gz ];then wget -P /server/packages/ http://172.16.0.7/packages/${mysql_package}.tar.gz &>/dev/null fi id ${mysql_user} &>/dev/null [ $? -ne 0 ]&&{ useradd -r -s /sbin/nologin ${mysql_user} &>/dev/null if [ $? -eq 0 ];then echo "user: ${mysql_user} create success." else echo "user: ${mysql_user} create failed,please check it!" exit 1 fi } } mysql_install(){ tar zxf /server/packages/${mysql_package}.tar.gz -C /server/packages/ &>/dev/null if [ $? -eq 0 ];then echo "Installing..." cd /server/packages/${mysql_package}/ cmake -DCMAKE_INSTALL_PREFIX=${mysql_path} -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=${mysql_user} -DMYSQL_TCP_PORT=3306 &>/dev/null if [ $? -eq 0 ];then make &>/dev/null make install &>/dev/null [ $? -ne 0 ]&&{ echo -e "33[31minstall failed,please check.33[0m" exit 1 }||{ echo "install success." ln -s ${mysql_path}/bin/* /usr/local/bin/ &>/dev/null } fi cd ${mysql_path}/ chown -R root . chown -R mysql data/ fi echo "configure mysql..." cp /server/packages/${mysql_package}/support-files/my-medium.cnf /etc/my.cnf &>/dev/null cd ${mysql_path} ./scripts/mysql_install_db --user=mysql &>/dev/null if [ $? -eq 0 ];then cp ${mysql_path}/support-files/mysql.server /etc/init.d/mysqld &>/dev/null chmod +x /etc/init.d/mysqld chkconfig --add mysqld &>/dev/null chkconfig mysqld on &>/dev/null service mysqld start mysqladmin -uroot password 123456 [ $? -eq 0 ]&&{ echo "mysql configure success." }||{ echo -e "33[31mconfigure falied,please check it.33[0m" } fi } #php_package="php-5.6.38" php_init(){ id www &>/dev/null if [ $? -ne 0 ];then groupadd www if [ ! -e ${path}/${php_package}.tar.gz ];then wget -P ${path}/ http://172.16.0.7/packages/${php_package}.tar.gz &>/dev/null if [ $? -ne 0 ];then echo "download php package failed." exit 1 fi fi fi } php_install(){ tar zxf ${path}/${php_package}.tar.gz -C ${path}/ &>/dev/null if [ $? -eq 0 ];then echo "Installing..." cd ${path}/${php_package}/ ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear --enable-fpm &>/dev/null if [ $? -eq 0 ];then make &>/dev/null make install &>/dev/null [ $? -ne 0 ]&&{ echo -e "33[31minstall failed,please check.33[0m" exit 1 }||{ echo "install success." } else echo "configure failed" exit 1 fi else exit 2 fi } php_config(){ echo "configure php..." cp /server/packages/php-5.6.38/php.ini-production /usr/local/php/etc/php-ini ln -s /usr/local/php/bin/* /usr/local/bin/ ln -s /usr/local/php/sbin/* /usr/local/sbin/ } starts(){ id www &>/dev/null [ $? -ne 0 ]&&{ useradd -u 1111 www -g www &>/dev/null } wget -O /usr/local/nginx/conf/nginx.conf http://172.16.0.7/profile/nginx.conf &>/dev/null wget -O /usr/local/php/etc/php-fpm.conf http://172.16.0.7/profile/php-fpm.conf &>/dev/null wget -O ${path}/nginx http://172.16.0.7:/start/nginx &>/dev/null cp ${path}/nginx /etc/init.d/ chkconfig --add nginx chkconfig nginx on if [ $? -eq 0 ];then cp ${path}/nginx /usr/bin/ chmod +x /usr/bin/nginx nginx start if [ $? -eq 0 ];then echo "nginx is started." fi fi } mon(){ wget -O /usr/local/nginx/mon-nginx.sh http://172.16.0.7/scripts/mon-nginx.sh &>/dev/null echo "/bin/sh /usr/local/nginx/mon-nginx.sh" >>/etc/rc.local echo "*/5 * * * * /bin/sh /usr/local/nginx/mon-nginx.sh" >>/var/spool/cron/root chmod +x /etc/rc.d/rc.local } main(){ nginx_init nginx_install mysql_init mysql_install php_init php_install php_config starts mon } main
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023