Tops博客

Ubutnu 16 LNMP7 安装

前期准备&安装



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 $uri $uri/ /index.php?s=$uri&$args;
}

# 开启PHP支持
location ~ \.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_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值结束进程就可以了

评论