准备工作
#关闭selinux:
$ vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,退出
$ reboot #重启系统
vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
vi /etc/profile
ulimit -SHn 65535
#生成一个空的www用户
$ groupadd -r www
$ useradd www -g www -M -s /sbin/nologin
#生成一个空的mysql用户
$ groupadd mysql
$ useradd mysql -g mysql -M -s /sbin/nologin
# centos
$ yum install epel-release //扩展包更新包
$ yum update //更新yum源
$ yum -y install gcc gcc-c++ autoconf automake
libxml2-devel openssl-devel libcurl-devel libjpeg-devel
libpng-devel libicu-devel openldap-devel freetype-devel
libmcrypt libmcrypt-devel mcrypt mhash zlib-devel pcre-devel
sqlite-devel oniguruma-devel libwebp-devel
yum remove libzip -y
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
ln /usr/local/lib/libzip/include/zipconf.h /usr/local/include/
# php编译安装
# https://www.php.net/distributions/php-7.4.33.tar.gz
./configure --prefix=/data/php --with-config-file-path=/data/php/etc --with-config-file-scan-dir=/data/php/etc/php.d --with-libdir=lib64 --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-opcache --enable-pcntl --enable-mbstring --enable-soap --enable-zip --enable-calendar --enable-bcmath --enable-exif --enable-ftp --enable-intl --with-iconv --enable-shmop --enable-sysvsem --enable-xml --enable-inline-optimization --enable-shared --enable-mbregex --with-openssl --with-zlib-dir --with-curl --enable-sockets --with-gd --with-jpeg-dir --with-webp-dir --with-gettext --with-freetype-dir --with-mhash --with-ldap --with-xmlrpc --disable-debug --disable-rpath
$ make
$ make install
#复制配置文件
$ cp php.ini-production /data/php/etc/php.ini
#复制fpm配置文件
$ cp /data/php/etc/php-fpm.conf.default /data/php/etc/php-fpm.conf
#生成配置文件目录 自动挂载配置
$ mkdir /data/php/etc/php.d
# 启动服务
$ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
$ chmod u+x /etc/init.d/php-fpm
$ service php-fpm start
#随机启动
$ chkconfig php-fpm on
$ jobs
$ fg %n
$ kill -9 pid
$ kill -HUP pid
$ vi /etc/profile
#把php安装路径放入系统路径中
PATH=$PATH:/data/php/bin
$ source /etc/profile
php-fpm 关闭:
pkill php-fpm #强制关闭
/data/php/sbin/php-fpm #启动
kill -INT `cat /data/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /data/php/var/run/php-fpm.pid`
查看php-fpm进程数:
ps aux | grep -c php-fpm
#composer安装
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
#swoole插件安装
# https://pecl.php.net/get/swoole-4.8.13.tgz php7+
$ phpize
$ ./configure
$ make
$ make install
extension=swoole.so
# mysql编译安装
# mysql5.7 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.32.tar.gz
#建立mysql安装和数据路径
$ mkdir -p /data/mysql/data
$ yum -y install make gcc-c++ cmake ncurses-devel bison bison-devel perl perl-devel
cmake
-DCMAKE_INSTALL_PREFIX=/data/mysql
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/data/mysql/data
-DMYSQL_TCP_PORT=3306
-DENABLE_DOWNLOADS=1
-DWITH_BOOST=./boost
$ make
$ make install
$ vi /etc/profile
#把mysql安装路径放入系统路径
PATH=$PATH:/data/mysql/bin:/data/mysql/lib
$ source /etc/profile //使刚才的修改生效
#启动服务
$ cp support-files/mysql.server /etc/init.d/mysqld
$ chmod u+x /etc/init.d/mysqld
#随机启动
$ chkconfig mysqld on
#让mysql安装路径和数据路径的所有者为mysql
$ chown -R mysql:mysql /data/mysql
#初始化数据库
$ mysqld --initialize
#启动mysql服务
$ service mysqld start
#免密码登入
mysqld_safe --skip-grant-tables --skip-networking
mysql -u root
#有密码登入
$ mysql -u root -p
#更换root密码 5.7
$ mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('12345678');
$ mysql> exit
$ mysql -u root -p
#创建远程账户 5.7
$ mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;
#更换root密码 8.0
# ALTER USER 'root'@'%' IDENTIFIED BY '12345678';
# 创建用户
mysql> create user 'root'@'%' identified by '12345678';
# 给用户授权
mysql> grant all privileges on *.* to 'root'@'%';
# 刷新
mysql> flush privileges;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
# nginx编译安装
# http://nginx.org/download/nginx-1.16.0.tar.gz
./configure
--prefix=/data/nginx
--sbin-path=/data/nginx/nginx
--conf-path=/data/nginx/etc/nginx.conf
--error-log-path=/data/logs/nginx/error.log
--http-log-path=/data/logs/nginx/access.log
--pid-path=/data/nginx/nginx.pid
--lock-path=/data/nginx/nginx.lock
--user=www
--group=www
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-pcre
--http-client-body-temp-path=/data/nginx/temp/client/
--http-proxy-temp-path=/data/nginx/temp/proxy/
--http-fastcgi-temp-path=/data/nginx/temp/fcgi/
--http-uwsgi-temp-path=/data/nginx/temp/uwsgi
--http-scgi-temp-path=/data/nginx/temp/scgi
---with-stream
mkdir -p /data/logs/nginx/
mkdir -p /data/nginx/temp/client/
mkdir -p /data/nginx/temp/proxy/
mkdir -p /data/nginx/temp/fcgi/
mkdir -p /data/nginx/temp/uwsgi
mkdir -p /data/nginx/temp/scgi
$ make
$ make install
# Tengine编译安装
# http://tengine.taobao.org/download/tengine-2.3.1.tar.gz
# https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2
# https://github.com/jemalloc/jemalloc/archive/5.2.0.tar.gz
./configure
--prefix=/data/nginx
--sbin-path=/data/nginx/nginx
--conf-path=/data/nginx/etc/nginx.conf
--error-log-path=/data/logs/nginx/error.log
--http-log-path=/data/logs/nginx/access.log
--pid-path=/data/nginx/nginx.pid
--lock-path=/data/nginx/nginx.lock
--user=www
--group=www
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-pcre
--http-client-body-temp-path=/data/nginx/temp/client/
--http-proxy-temp-path=/data/nginx/temp/proxy/
--http-fastcgi-temp-path=/data/nginx/temp/fcgi/
--http-uwsgi-temp-path=/data/nginx/temp/uwsgi
--http-scgi-temp-path=/data/nginx/temp/scgi
--dso-path=/data/nginx/dso/path
--dso-tool-path=/data/nginx/dso/tool
--with-jemalloc=/data/soft/jemalloc
mkdir -p /data/logs/nginx/
mkdir -p /data/nginx/temp/client/
mkdir -p /data/nginx/temp/proxy/
mkdir -p /data/nginx/temp/fcgi/
mkdir -p /data/nginx/temp/uwsgi
mkdir -p /data/nginx/temp/scgi
mkdir -p /data/nginx/dso/path
mkdir -p /data/nginx/dso/tool
$ make
$ make install
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/data/nginx/nginx
ExecReload=/data/nginx/nginx -s reload
ExecStop=/data/nginx/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
标签: 防火墙