1.获取软件包
1.1获取mysql5.7.13+boost1.59
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz
wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.zip
1.3获取php7.9
wget http://cn2.php.net/distributions/php-7.0.9.tar.gz
1.4获取nginx1.10
wget http://www.nginx.org/download/nginx-1.10.1.tar.gz
2.安装
2.1安装常用工具及依赖库
2.2安装nginx
2.2.1解压
tar -zxvf nginx-1.10.1
2.2.2编译安装
cd nginx-1.10.1/
./configure --prefix=/opt/nginx
make
make install
2.2.3配置systemd
root权限新建/usr/lib/systemd/system/nginx.service文件
touch /usr/lib/systemd/system/nginx.service
添加下面的的内容:
[Unit]
Description=Nginx - High performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.2.4测试
启动nginx
systemctl start nginx.service
查看80端口是否启动ss -tnlp
web查看nginx启动是否正常
浏览器输入服务器ip查看
2.3安装php
解压
tar -zxvf php-7.0.9.tar.gz
编译安装
cd php-7.0.9/
./configure --prefix=/opt/php --with-fpm-systemd --with-bz2 --with-curl --with-jpeg-dir --enable-gd-native-ttf \
--with-libdir=lib64 --with-iconv-dir -enable-sockets --with-libxml-dir --enable-fpm --enable-xml --with-mysqli \
--with-pdo-mysql --enable-bcmath --with-freetype-dir --with-gettext --with-zlib --enable-mbstring --with-gd\
--enable-libxml --with-xmlwriter-dir --with-xmlreader-dir
make
make install
配置php-fpm
在/opt/php/etc目录中,复制php-fpm.conf.default文件到当前目录下,并改名为php-fpm.conf
cp php-fpm.conf.default php-fpm.conf
去掉php-fpm.conf文件下面两行的注释
error_log = log/php-fpm.log
pid = run/php-fpm.pid
在/opt/php/etc/php-fpm.d目录中,复制www.conf.default文件到当前目录下,并改名为www.conf
cd /opt/php/etc/php-fpm.d
cp www.conf.default www.conf
配置systemd
编译后会在源码目录的sapi/fpm目录生成php-fpm.service文件,但实际测试中,该文件存在一定的问题,因此自行编写php-fpm.service文件。
使用root权限新建/usr/lib/systemd/system/php-fpm.service文件,内容为
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/php/var/run/php-fpm.pid
ExecStart=/opt/php/sbin/php-fpm --fpm-config/opt/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动php-fpm
systemctlstart php-fpm
查看端口
ss -tnlp
利用web再次检测一下。
在/opt/nginx/html目录下新建info.php文件
vim /opt/nginx/html/info.php
<?php
phpinfo();
?>
然后,浏览器输入本机ip/info.php
正常会出现如下页面
2.4安装mysql5.7
2.4.1清除mariadb
yum -y remove mariadb-libs
2.4.2编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DWITH_SYSTEMD=1
make
sudo make install
安装完成之后,MySQL的所有文件将被安装到/opt/mysql目录。
添加mysql用户和组groupadd mysql
useradd -r -g mysql mysql
cd /opt/mysql
sudo chown -R mysql .
sudo chgrp -R mysql .
sudo bin/mysqld --initialize-insecure --user=mysql
sudo bin/mysql_ssl_rsa_setup
sudo chown -R root .
sudo chown -R mysql data
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
datadir = /opt/mysql/data
port = 3306
server_id = 1
# socket = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
max_connections = 10000
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#error log
log_error = /opt/mysql/data/mysqld.err
#binary log
log-bin = mysql-bin
binlog_format = mixed
# expire_logs_day = 30
#slow query log
slow_query_log = 1
slow_query_log_file = /opt/mysql/data/slow.log
long_query_time = 3
log-queries-not-using-indexes
log-slow-admin-statements
配置systemd
ExecStart=/opt/mysql/bin/mysqld --daemonize --pid-file=/opt/mysql/data/mysqld.pid $MYSQLD_OPTS
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
使用systemd启动mysql
2.4.3重置密码
查找初始密码:
cat /var/log/mysqld.log | grep password
登陆及更改密码
mysql -u root -p
mysql> set password = password ('1qaz@WSX');
flush privileges;
设置开机启动
systemctl enable mysqld
现在mysql+php+nginx已经启动