前期准备&安装

apt-get update
apt-get -y install vim wget curl zip unzip lrzsz git git-core nginx php php-fpm php-curl php-gd php-mbstring php-mysql php-dev php-bcmath mysql-server

nginx config

sed -i -e"s/keepalive_timeout 2/keepalive_timeout 2;\n\tclient_max_body_size 100m/" /etc/nginx/nginx.conf

为nginx添加一个在/home/ly/nginx_config站点配置文件目录便于管理

mkdir -p /home/ly/nginx_config;
sed -i '/include\s\/etc\/nginx\/sites-enabled\/\*;/a    include /home/ly/nginx_config/*;' /etc/nginx/nginx.conf
mkdir -p /home/ly/www;

拷贝默认站点配置文件至/home/ly/nginx_config

rm /etc/nginx/sites-enabled/default
cp ./mysite.conf  /home/ly/nginx_config

权限

chown -R www-data:www-data /home/ly/www/

php-fpm config

#sudo sed -i -e “s/;cgi.fix_pathinfo=0/cgi.fix_pathinfo=1/g” /etc/php5/fpm/php.ini

上传大小限制改为100M

sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/7.0/fpm/php.ini
sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/7.0/fpm/php.ini

后台守护进程模式

sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.0/fpm/php-fpm.conf

mysql config

开启mysql远程访问

#sed -i -e”s%^bind-address\s=\s127.0.0.1%bind-address = 0.0.0.0%” /etc/mysql/my.cnf
sed -i -e"s%^bind-address\s*=\s*127.0.0.1%bind-address = 0.0.0.0%" /etc/mysql/mysql.conf.d/mysqld.cnf

移动mysql数据目录到/home/mysql_data下便于数据集中管理

#sed -i -e”s%^datadir\s=\s/var/lib/mysql%datadir = /home/ly/mysql_data%” /etc/mysql/my.cnf
sed -i -e"s%^datadir\s*=\s*/var/lib/mysql%datadir = /home/ly/mysql_data%" /etc/mysql/mysql.conf.d/mysqld.cnf
sed -i -e"s%^\s\s/var/lib/mysql% /home/ly/mysql_data%" /etc/apparmor.d/usr.sbin.mysqld
cp -r /var/lib/mysql /home/ly/mysql_data

权限很重要不然mysql无法启动

chown -R mysql:mysql /home/ly/mysql_data

restart

#service apparmor restart
service nginx restart
service php7.0-fpm restart
service mysql restart

禁止别人ping服务器

#sed -i ‘$a\net.ipv4.icmp_echo_ignore_all = 1’ /etc/sysctl.conf
#sysctl -p

Nginx的配置文件:mysite.conf

server {
    listen   80;
    root /home/ly/www/mysite;
    index index.html index.htm index.php;
    server_name www.lingyun.net;
    client_max_body_size 100m;

    location / {
        try_files uriuri/ /index.php?s=uri&args;
    }

    # 开启PHP支持
    location ~ \.php {
        include       fastcgi_params;
        fastcgi_param SCRIPT_FILENAME document_rootfastcgi_script_name;
        fastcgi_pass  unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*);
        fastcgi_param PATH_INFOfastcgi_path_info;
    }
}

可能出现的错误

nginx depends on nginx-core (<< 1.10.0-0ubuntu0.16.04.2.1~) | nginx-full (<< 1.10.0-0ubuntu0.16.04.2.1~) | nginx-light (<< 1.10.0-0ubuntu0.16.04.2.1~) | nginx-extras (<< 1.10.0-0ubuntu0.16.04.2.1~); however:
  Package nginx-core is not configured yet.
  Package nginx-full is not installed.
  Package nginx-light is not installed.
  Package nginx-extras is not installed.

dpkg: error processing package nginx (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 nginx-core
 nginx

发现出现这种错误,一般应该是由于其他应用占用了80端口
netstat -nlp命令检查一下
然后用kill -9 #PID值结束进程就可以了