centos7使用yum安裝nginx、php、mysql

1.安裝所須要的依賴

yum install readline-devel pcre-devel openssl-devel zlib-devel gcc gcc-c++ gd-devel libxml2-develphp

2.安裝nginx

添加 /etc/yum.repos.d/nginx.repo 文件。更新yum 源;html

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

更新yum源後依次執行:mysql

##更新yum源
yum clean all  
yum makecache

##搜索nginx
yum search nginx

##安裝nginx
yum install nginx

##檢測nginx是否安裝成功
nginx -v

修改nginx配置文件,如下是例子: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
相關文章
相關標籤/搜索