在虚拟机里的CentOS7安装配置nginx,之前需要一些依赖库作为编译安装的条件,具体作用和命令详情跳转我之前的博客。
安装并使用VMware-workstation-full-15.5.0加载安装CentOS7后检查是否已安装GCC、PCRE、Zlib等实现nginx的运行环境
2 编译安装
2.1 解压nginx-6.1.tar.gz
把nginx-1.16.1.tar.gz复制到Downloads目录下
解压该压缩文件到默认的当前目录,点击Extract执行。
选中nginx-1.16.1文件夹,右键单击在弹出菜单上选择open in Terminal
切换到终端的root权限执行后续的安装nginx步骤:
su -
2.2 新建用到的临时目录
新建/var/temp/nginx目录
cd /var
mkdir temp
cd /var/temp
mkdir nginx
然后用命令行返回刚才解压的目录下:
cd /home/kangmianfeng/Downloads/nginx-1.16.1
这里要把/kangmianfeng替换成你自己的CentOS7用户名!
2.3安装前的configure配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
编译安装
make
make install
安装成功查看安装目录
cd /usr/local/nginx
ls
9 安装CentOS7作为虚拟机服务器注意事项
每次虚拟机重启后,var/run/nginx,nginx这个文件夹都会被删除
所以重启虚拟机需要先创建这个用到的目录,然后再启动nginx
mkdir /var/run/nginx
解决GUI的CentOS7虚拟机连网失败的问题
systemctl status network.service
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl start network.service
systemctl restart network
10 nginx做图片服务器的代理的需要注意的技术细节
10.1 修改nginx配置文件
注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
#复制一份默认的配置文件并重新命名为:taotao-nginx.conf
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/taotao-nginx.conf
#在taotao-nginx.conf定义图片HTTP服务器的访问根目录
# Linux权限详解使得所有用户可以读写和执行文件
chmod777 /usr/local/nginx/conf/taotao-nginx.conf
10.1.1 修改nginx服务站点的根目录
vim /usr/local/nginx/conf/taotao-nginx.conf
location / {
root /home/ftpuser/www/;
index index.html index.htm;
}
server { listen 80; server_name localhost; charset utf-8; #access_log logs/host.access.log main; location ~ .*\.(gif|jpg|jpeg|png)$ { expires 24h; root /home/ftpuser/www/; access_log /home/ftpuser/www/images/images.log; proxy_store on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path /home/ftpuser/www/; proxy_redirect off; proxy_set_header Host 127.0.0.1; client_max_body_size 10m; client_body_buffer_size 1280k; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 40k; proxy_buffers 40 320k; proxy_busy_buffers_size 640k; proxy_temp_file_write_size 640k; if ( !-e $request_filename) { proxy_pass http://127.0.0.1; } }
/home/ftpuser/www/
这里www后面的/不能省略
10.1.2 修改根目录文件夹的访问权限
文件夹的访问权限不够,所以用ip或者域名访问是访问不到的
先用命令进入你的站点根目录
cd /home/ftpuser/www/
然后输入指令修改文件夹访问权限给所有用户
chmod a+w .
chmod -R 777 /home/ftpuser/www/images
10.2 要将nginx.conf的user改成与启动用户一致
vim /usr/local/nginx/conf/taotao-nginx.conf
#nginx的启动用户要和user后的一致,否则报403权限不足
user root;
10.3 直接放图片文件,会报403 forbidden
如果在/home/ftpuser/www/下面没有一个index.html的文件就会报403 forbidden
10.4 加载自定义配置文件并重启nginx服务
停止当前的nginx服务进程
cd /usr/local/nginx/sbin/
./nginx -s quit
加载上面我们修改过的自定义的配置文件启动nginx
./nginx -c /usr/local/nginx/conf/taotao-nginx.conf
=================================================================
注意:如果严格按照上述步骤执行,访问报403 forbidden,可能是虚拟机CentOS7没关闭selinux,并且还要完全关闭防火墙。
修改/etc/selinux/config配置文件,设置SELINUX=disabled,需要重启服务器生效。
vim /etc/selinux/config
查看SELINUX状态的命令:
sestatus
关闭CentOS7默认的防火墙命令:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
==================================================================
FTP协议服务还需在虚拟机里的CentOS7安装并配置vsftpd组件,具体可以参考其它博客的详细说明。