前期准备&安装
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值
结束进程就可以了