1.安装所需要的依赖
yum install readline-devel pcre-devel openssl-devel zlib-devel gcc gcc-c++ gd-devel libxml2-devel
2.安装nginx
添加 /etc/yum.repos.d/nginx.repo 文件。更新yum 源;
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
更新yum源后依次执行:
## 更新yum源
https://developer.aliyun.com/mirror/ 阿里云yum源
yum clean all
yum makecache
##搜索nginx
yum search nginx
##安装nginx
yum install nginx
##检测nginx是否安装成功
nginx -v
修改nginx配置文件,以下是例子:
user www www; #用户组
worker_processes 2; #nginx要开启的进程数
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000; #使用该选项可以绑定worker进程和CPU
pid /var/run/nginx.pid; #nginx进程运行文件存放地址
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #最大连接数,默认为512
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout 65; #连接超时时间,默认为75s,可以在http,server,location块。
error_page 404 https://www.baidu.com; #错误页
#负载均衡
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup;
}
server {
listen 80; #监听端口
root path; #根目录
index index.html; #设置默认页
server_name a.com; #监听地址
location / { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
}
}
}
3.安装php
##更新yum源,我用的是webtatic
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
##安装php
yum search php70
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-devel.x86_64 php70w-fpm.x86_64 php70w-gd.x86_64 php70w-imap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-opcache.x86_64 php70w-pdo.x86_64 php70w-pear.noarch php70w-pecl-igbinary.x86_64 php70w-pecl-igbinary-devel.x86_64 php70w-pecl-imagick.x86_64 php70w-pecl-imagick-devel.x86_64 php70w-pecl-memcached.x86_64 php70w-pecl-mongodb.x86_64 php70w-pecl-redis.x86_64 php70w-pecl-xdebug.x86_64 php70w-process.x86_64 php70w-soap.x86_64 php70w-xml.x86_64 php70w-xmlrpc.x86_64
##测试安装是否成功
php -v or php -i
4.安装mysql(使用rpm包)
##下载rpm包,一般下载 mysql-server 、mysql-devel、mysql-client
##mysql-server 服务端
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.36-1.el7.x86_64.rpm
###mysql-devel 所需要的库和包含文件
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.36-1.el7.x86_64.rpm
##mysql-client 客户端
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.36-1.el7.x86_64.rpm
##安装前删除之前的版本
yum remove mysql mysql-server mysql-libs mysql-server
##开始安装
rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.36-1.el7.x86_64.rpm
rpm -ivh MySQL-client-5.6.36-1.el7.x86_64.rpm
##初始化mysql
/usr/bin/mysql_install_db
##查看初始化后的mysql密码
cat /root/.mysql_secret
##启动mysql
mysqld_safe --defaults-file=/var/lib/mysql/mysql-master.cnf & OR mysqld_safe > /dev/null &
##链接mysql
mysql -h 127.0.0.1 -P 3306 -u root -p
##拷贝添加mysql配置文件,重新指定mysql目录,在修改配置文件时一定要确认文件夹对应的权限是 mysql : mysql
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
##修改mysql配置文件。重新配置数据库目录。
eg:
[client]
port = 3306
socket = /workspace/data/mysql/mysql.sock
[mysqld]
datadir = /workspace/data/mysql
port = 3306
socket = /workspace/data/mysql/mysql.sock
pid-file = /workspace/data/mysql/mysql.pid
log-error = /workspace/data/mysql/log/error.log
long_query_time = 2
slow_query_log_file = /workspace/data/mysql/log/slow.log
character-set-server=utf8
skip-name-resolve
back_log = 64
key_buffer = 256M
max_allowed_packet = 16M
table_cache = 256K
sort_buffer_size = 12M
net_buffer_length = 256K
read_buffer_size = 4M
read_rnd_buffer_size = 6M
join_buffer_size = 8M
myisam_sort_buffer_size = 64M
query_cache_size = 32M
max_connections=2000
max_connect_errors=99999
thread_cache_size=128
thread_concurrency = 8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
5.重新启动nginx、php、mysql
nginx -c /etc/nginx/nginx.conf
php-fpm -c /etc/php.ini -y /etc/php-fpm.conf
mysqld_safe > /dev/null &
接下来你就可以愉快的玩耍啦。
6.关闭防火墙
cetos 7 已经不在支持 iptables啦
systemctl stop firewalld.service
systemctl disable firewalld.service