linux 安装redis mysql php gcc等

147 阅读2分钟

可生成.sh文件直接执行

#!/bin/bash
. /etc/init.d/functions

yum -y update
yum -y install vim gcc gcc-c++
groupadd -f www && useradd -g www www -s /bin/false
mkdir -p /usr/local/src/source

##############################################install nginx
cd /usr/local/src/source
yum -y install pcre-devel zlib-devel openssl-devel

mkdir -p /application/nginx
mkdir -p /data/web

#nginx.org/en/download…
wget nginx.org/download/ng…
tar xf nginx-1.17.4.tar.gz
cd nginx-1.17.4
./configure --prefix=/application/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
make && make install

rm -f /application/nginx/conf/nginx.conf
mkdir /application/nginx/conf/vhost

cat > /application/nginx/conf/nginx.conf <<EOF
user www www;
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

log_format      main    '\$remote_addr - \$remote_user [\$time_local] "\$request" '
                        '\$status \$body_bytes_sent "\$http_referer" '
                        '"\$http_user_agent" "\$http_x_forwarded_for" '
                        '\$http_host \$upstream_status \$upstream_addr \$request_time \$upstream_response_time';

access_log              logs/access.logs  main;
sendfile                on;
keepalive_timeout       65;

include /application/nginx/conf/vhost/*.conf;

}
EOF

cat > /application/nginx/conf/vhost/www.conf <<EOF
server {
charset utf-8;
client_max_body_size 128M;

listen                  80;
server_name             localhost;
index                   index.php index.html;
root                    /data/web/www/;

#监控nginx
location /ngx_status
{
    stub_status on;
    access_log off;
    #allow 127.0.0.1;
    #deny all;
}

#监控php
location /status {
    fastcgi_index   index.php;
    fastcgi_param   SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
    include         fastcgi_params;
    fastcgi_pass    127.0.0.1:9000;
}

location / {
    try_files \$uri \$uri/ /index.php\$is_args\$args;
}

location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
    access_log off;
    if (-f \$request_filename) {
        expires 90d;
        break;
    }
}

location ~ \.php\$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

location ~ /\.(ht|svn|git) {
    deny all;
}

}
EOF

#/application/nginx/sbin/nginx

######################################install php
cd /usr/local/src/source
mkdir -p /application/php
yum -y install autoconf automake libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libxslt-devel

yum -y remove cmake
wget github.com/Kitware/CMa…
tar xf cmake-3.16.0-rc1.tar.gz
cd cmake-3.16.0-rc1
./configure --prefix=/usr
gmake && gmake install

cd …
yum -y remove libzip
wget libzip.org/download/li…
tar xf libzip-1.5.2.tar.gz
mkdir libzip-1.5.2/build
cd libzip-1.5.2/build
cmake …
make && make install

cd …/…
echo ‘/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64’ >> /etc/ld.so.conf
ldconfig -v

wget www.php.net/distributio…
tar xf php-7.3.10.tar.gz
cd php-7.3.10

./configure --prefix=/application/php --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm --disable-fileinfo
make && make install

cp php.ini-production /application/php/lib/php.ini
cp sapi/fpm/php-fpm /application/php/bin
cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf
cp /application/php/etc/php-fpm.d/www.conf.default /application/php/etc/php-fpm.d/www.conf

sed -i ‘/run/php-fpm/s/;//g’ /application/php/etc/php-fpm.conf
sed -i ‘/error_log/aerror_log\ =\ log/php-fpm.log’ /application/php/etc/php-fpm.conf
sed -i ‘/cgi.fix_pathinfo=/acgi.fix_pathinfo=0’ /application/php/lib/php.ini
sed -i ‘/date.timezone\ /adate.timezone = PRC’ /application/php/lib/php.ini

#/application/php/bin/php-fpm -c /application/php/lib/php.ini -y /application/php/etc/php-fpm.conf

#############################################################################install mysql
cd /usr/local/src/source
mkdir -p /application/mysql
groupadd mysql && useradd -g mysql mysql -s /bin/false
yum -y install ncurses-devel lzip bison

##添加交换分区##
mkdir -p /var/cache/swap
dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=32
chmod 0600 /var/cache/swap/swap0
mkswap /var/cache/swap/swap0
swapon /var/cache/swap/swap0

wget ftp.gnu.org/gnu/gcc/gcc…
tar xf gcc-5.4.0.tar.gz
mkdir gcc-5.4.0/build
cd gcc-5.4.0
./contrib/download_prerequisites
cd build
…/configure --enable-threads=posix --disable-multilib --enable-languages=c,c++ --enable-checking=release
make && make install

cd …/…
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6

wget cdn.mysql.com//Downloads/…
tar xf mysql-8.0.18.tar.gz
cd mysql-8.0.18
mkdir build
cd build
cmake … -DCMAKE_INSTALL_PREFIX=/application/mysql -DINSTALL_DATADIR=/application/database -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DENABLED_LOCAL_INFILE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_SSL=system
make && make install

cd /application/mysql
sed -ir ‘s#^datadir=.

KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲datadir=/applic…#socket=/tmp/mysql.sock#g’ /etc/my.cnf sed -i ‘/socket=/auser=mysql’ /etc/my.cnf sed -ir 's#^pid-file=.

KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲pid-file=/appli…#log-error=/application/mysql/run/error.log#g’ /etc/my.cnf

touch run/error.log run/mysqld.pid
chown -R mysql:mysql /application/mysql
./bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/database &> run/error.log
./bin/mysql_ssl_rsa_setup

cp support-files/mysql.server /etc/init.d/mysqld
chown mysql:mysql /etc/init.d/mysqld
##修改密码ALTER USER USER() IDENTIFIED BY ‘yanhui’;

#service mysqld start

#############################################################环境配置
chmod +x /etc/rc.d/rc.local
cat >> /etc/rc.local <<EOF
/application/nginx/sbin/nginx
/application/php/bin/php-fpm -c /application/php/lib/php.ini -y /application/php/etc/php-fpm.conf
service mysqld start
EOF

echo “export PATH=$PATH:/application/php/bin:/application/mysql/bin:/application/mysql/sbin” >> /etc/profile
source /etc/profile

##删除交换分区##
swapoff /var/cache/swap/swap0
rm -rf /var/cache/swap