centos7使用yum安装nginx、php、mysql

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
posted @ 2017-09-24 21:14  sunyangone  阅读(349)  评论(0编辑  收藏  举报