一、 安装nginx
1、建立nginx源,命令:vi /etc/yum.repos.d/nginx.repo
输入以下内容保存退出:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
2、安装nginx,命令:yum -y install nginx
3、启动nginx,命令:systemctl start nginx
说明:除了systemctl start nginx之外,常用的相关命令还有systemctl stop nginx、systemctl restart nginx、systemctl status nginx
4、加入开机启动项,命令:systemctl enable nginx
5、开启80端口:命令:firewall-cmd --zone=public --add-port=80/tcp –permanent
说明:--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
6、重启防火墙:firewall-cmd –reload
说明:也可以这样重启防火墙
systemctl stop firewalld.service
systemctl start firewalld.service
7、安装目录详细:
配置文件:/etc/nginx/nginx.conf
默认配置文件:/etc/nginx/conf.d/default.conf
默认网页目录:/usr/share/nginx/html
日记目录:/var/log/nginx/error.log
8、配置Nginx支持PHP解析
编辑/etc/nginx/nginx.conf,在server里添加蓝色字体处内容,其它默认:
server {
root /usr/share/nginx/html;
index index.php index.html index.htm;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
备注:解决Nginx出现403 forbidden (13: Permission denied)报错的三种办法
(1)缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。
(2)权限问题,如果nginx没有web目录的操作权限,也会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决:chmod -R 775 /www
(3)SELinux设置为开启状态(enabled)的原因。
将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
改完后重启系统:reboot
二、 安装PHP5.6.30
手动编译安装:
https://blog.csdn.net/bigsea622/article/details/83382271
https://blog.csdn.net/hemin1003/article/details/77434862
Yum安装:
https://www.cnblogs.com/shione/p/7492735.html
启动php-fpm:service php-fpm start (service php-fpm reload/service php-fpm stop)
(或是 /usr/local/php56/sbin/php-fpm 来启动)
查看php-fpm启动状态:ps aux | grep php 如出现下面内容说明已经启动
Php-fpm.conf配置文件路径:/usr/local/php56/etc/php-fpm.conf
PHP.ini配置文件路径:/usr/local/php56/etc/php.ini
备注:如果PHP连接不上数据库报错“SQLSTATE[HY000] [2002] No such file or directory”请参考:https://www.phpol.cn/shujuku/168.html
Php-gd库的安装:
下载GD依赖包:jpegsrc、libpng、freetype
wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz
wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.36/libpng-1.6.36.tar.gz
wget http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.9.tar.gz
下载完后解压编译安装,具体参考:
https://www.cnblogs.com/weknow619/p/8126357.html
步骤1、安装libpng
libpng软件包包含libpng库,这些库被可以被其它软件用于处理png后缀的图片文件。执行以下命令下载libpng,如下:
继续执行以下命令进行解压、配置安装:
tar -xf libpng-1.6.36.tar.gz
cd libpng-1.6.36
./configure
Make && make install
步骤2、安装jpegsrc
jpegsrc软件包包含jpeg库,这些库被可以被其它软件用于处理jpg或jpeg后缀的图片文件。如下:
tar -xf jpegsrc.v9a.tar.gz
cd jpeg-9a/
./configure
make && make install
步骤3、安装freetype
freetype库是一个完全免费开源的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。
继续执行以下命令进行解压、配置安装:
tar -xf freetype-2.9.tar.gz
cd freetype-2.9
./configure
make && make install
步骤4、安装gd库
下面进行gd库的编译安装,先进入之前下载解压后的php源码包的
cd /usr/local/src/php-5.6.30/ext/gd/ 目录下,然后再在该目录下执行:
/usr/local/php56/bin/phpize (phpize是你安装的php位置来决定的)
如遇到上面错误,最简单的解决方法执行下面两句命令:
yum -y install m4
yum -y install autoconf
接着再执行/usr/local/php56/bin/phpize就可以了。
接着执行以下命令配置、安装:
./configure --with-php-config=/usr/local/php56/bin/php-config
make && make install
gd库安装成功后会在/usr/local/lib/php56/extensions/no-debug-non-zts-20131226目录下生成gd.so文件。
接着修改下配置文件,修改/usr/local/php56/etc/php.ini文件,在该文件的Dynamic Extensions模块下添加一行extension=gd.so,如下:
如果不知道php.ini文件的位置,我们可以通过php --ini命令查看。
然后重启nginx和php-fpm(或是重启服务器),完了打开phpinfo如果看到以下说明安装成功了:
三、 安装mysql
1. 首先进入本机的源文件目录,命令:cd /usr/local/src
2. 使用wget下载官方yum源的rpm包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
3. 安装rpm包:
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
4. 再次使用yum来安装mysql-server:
yum install mysql-server
5. 安装完成后,启动mysqld服务:systemctl start mysqld
查看是否成功启动:ps aux|grep mysqld
6. 设置mysqld服务开机自启动:systemctl enable mysqld
7. 使用初始密码登录
由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码:vi /var/log/mysqld.log
找到如下信息:
2017-11-12T13:35:37.013617Z 1 [Note] A temporary password is generated for root@localhost: bkv,dy,)o7Ss
最后一行冒号后面的部分bkv,dy,)o7Ss就是初始密码。
使用此密码登录MySQL:mysql -u root –p
8. 更改默认密码
切换数据库:use mysql;
修改root密码:
alter user 'root'@'localhost' identified by 'your_password';
将your_password替换成你自己的密码就可以了,当然,这个密码是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。
9. exit退出重新使用新的密码登录,如果可以正常登录说明你的MySQL已经成功安装在CentOS 7.4上了。
配置文件路径:/etc/my.cnf
四、 端口开放设置
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service
2、安装iptables防火墙
yum install iptables-services -y
3.启动设置防火墙
# systemctl enable iptables
# systemctl start iptables
如果出现启动失败,则输入service iptables save命令,iptables启动正常
4.查看防火墙状态
systemctl status iptables
5编辑防火墙,增加端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq! #保存退出
3.重启配置,重启系统
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
五、 FTP安装与配置
1、 FTP的安装
#安装
yum install -y vsftpd
#设置开机启动
systemctl enable vsftpd.service
#启动
systemctl start vsftpd.service
#停止
systemctl stop vsftpd.service
#查看状态
systemctl status vsftpd.service
2、 配置FTP
#打开配置文件
vim /etc/vsftpd/vsftpd.conf
#显示行号
:set number
#修改配置 12 行
anonymous_enable=NO
#修改配置 33 行
anon_mkdir_write_enable=YES
#修改配置48行
chown_uploads=YES
#修改配置72行
async_abor_enable=YES
#修改配置82行
ascii_upload_enable=YES
#修改配置83行
ascii_download_enable=YES
#修改配置86行
ftpd_banner=Welcome to blah FTP service.
#修改配置100行
chroot_local_user=YES
#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES
3、 建立用户文件
#创建编辑用户文件
vim /etc/vsftpd/virtusers
#第一行为用户名,第二行为密码。不能使用root作为用户名
leo
12345
4、 生成用户数据文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
chmod 600 /etc/vsftpd/virtusers.db
5、 修改 /etc/pam.d/vsftpd 文件
# 修改前先备份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd
#先将配置文件中原有的 auth 及 account 的所有配置行均注释掉,然后尾部添加以下两行:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
# 如果系统为32位,上面改为lib
6、 新建系统用户vsftpd,用户目录为/home/vsftpd
#用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd
7、 建立虚拟用户个人配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
#这里建立虚拟用户leo配置文件
touch leo
#编辑leo用户配置文件,内容如下,其他用户类似
vi leo
local_root=/home/vsftpd/leo/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#建立leo用户根目录
mkdir -p /home/vsftpd/leo/
8、 防火墙设置
IPtables 的设置方式:
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
9、 重启vsftpd服务器
systemctl restart vsftpd.service
10、使用ftp工具连接测试
这个时候,使用ftp的工具连接时,我们发现是可以连接的。传输文件的时候,会发现文件上传和下载都会出现500、503 、200等问题。这个时候,可以进行以下操作:
方式一、关闭SELINUX
#打开SELINUX配置文件
vim /etc/selinux/config
#修改配置参数
#注释
SELINUX=enforcing
#增加
SELINUX=disabled
#修改完成后,需要重启!reboot
方式二、 SELINUX不对vsftp不做任何限制
setsebool -P ftpd_connect_all_unreserved 1
这个时候再使用工具连接,你发现,就可以正常的上传和下载文件了。
如果还是有问题尝试给我们用户的ftp目录,设置一下操作权限
chmod -R 775 /home/vsftpd/leo
来源链接:https://www.cnblogs.com/leoxuan/p/8329998.html
上一篇:win10 IIS10 下安装 URL Rewrite Module 重写模块 中文版
下一篇:iis7上传文件提示错误:413 Request Entity Too Large 解决方法
讨论数量:0